[XB] Table Checker: Database Analytics & Storage Tracking

[XB] Table Checker: Database Analytics & Storage Tracking 2.2.0

No permission to buy ($10.00)
Compatible XF 2.x versions
  1. 2.3
License
You may not redistribute the addon in whole or in part.
Visible branding
No
banner.webp


Check your XenForo database for schema differences, table ownership, naming issues and duplicate or overlapping indexes.

Table Checker brings database inspection, finding reviews and storage history into the Admin control panel. Inspect the evidence behind each result, keep review notes across scans and track which tables or add-ons account for database growth.

💎 This add-on is included with the Basic membership 💎​


By becoming a supporter, you gain access to the full set of add-ons available in your tier for as long as your membership remains active.
Once the promotion ends, you can keep using any add-ons you’ve already downloaded, and simply renew your subscription whenever you’d like to continue receiving updates.​


Features:​

Database Checks:​

  • 🔍 Seven Independent Checks: Enable import-table warnings, table-prefix checks, default-value checks for added XenForo columns, unresolved-ownership warnings, schema comparison, index analysis and character set checks. All are enabled by default.
  • 📋 Schema Comparison: Compare supported current declarations with the database to identify missing tables, columns and indexes, differing column settings and index column order. Review expected and actual definitions alongside their source locations.
  • 🔗 Index Analysis: Inspect matching InnoDB BTREE index definitions and possible leftmost-prefix overlaps. Protected constraints, hidden or ignored indexes and unsupported cases are identified separately.
  • 📁 Table Exclusions: Maintain a table whitelist for ownership and table warnings. Each scan saves its own settings and exclusions.

Character Sets & Collations:​

  • 📋 Grouped Results: Inspect database defaults, table defaults and text columns in a report grouped and paginated by table. Use inline filters for finding type, table owner and review status, with automatic text and prefix search, reset and expand/collapse controls.
  • 🔍 Comparison Evidence: View saved character set settings in a compact comparison and compare metadata against saved XenForo defaults and supported current convertCharset() declarations with literal character set and collation arguments. Declaration mismatches are separate from review candidates and unsupported comparisons.
  • 📝 Persistent Reviews: Keep review decisions and comments across scans. Incomplete metadata, stale scans and disabled checks retain previous decisions as unverified.
  • 🔒 Analysis Limits: Binary and non-text fields are excluded. The report does not inspect stored text, execute conversions or prove query compatibility. Raw SQL and per-column charset declarations are not interpreted.

Ownership & Reports:​

  • 📦 Add-on Ownership: Identify table and column owners from Entity mappings and schema declarations. See referencing add-ons separately from ownership claims.
  • 🔍 Source Evidence: Inspect ownership details with separate expandable sections for current, historical and uninstall sources. Expand code excerpts and the saved table or column definition when needed.
  • 📊 Confidence Labels: Distinguish Owner found, References found and Purpose unknown results, with separate confidence labels for columns.
  • 📋 Searchable Reports: Filter tables and columns by owner, issue type and confidence. Search the completed report, expand or collapse all table, column and nested details on the current page, and browse tables across pages.
  • 🔍 Automatic Filters: With JavaScript enabled, filters apply automatically. Without JavaScript, use the Filter button to submit your selection.
  • 💡 Finding Explanations: Expand results for plain-language descriptions, saved evidence, recommended actions and copyable findings.
  • 📁 Scan Continuity: Keep the last completed report available during a new scan. View the same scan summary on all six report tabs, with unreadable or skipped files, unresolved patterns and expandable analysis limits.

Finding Reviews:​

  • 📝 Persistent Review Decisions: Mark findings as Needs review, Expected difference or Reported to developer in a detail overlay.
  • 📋 Comments & History: Retain administrator notes and review history across scans. Relevant evidence changes or returning findings automatically reopen reviews.
  • 🔍 Review Filters: Browse findings by review status, including retained findings that are no longer detected or were not verified by the latest scan.

Database Storage:​

  • 📊 Storage Overview: View estimated database totals, data and index sizes, basic table information and the ten largest tables.
  • 📈 Daily History: Keep 90 days of measurements, with 7-, 30- and 90-day views for the database or a selected table. Capture current sizes on demand.
  • 📦 Storage by Add-on: Group owned tables by add-on, XenForo or unassigned ownership. References and add-on columns in other owners' tables are listed separately without assigning those tables' sizes.
  • 📈 Growth Comparisons: Separate growth in tables with the same owner from new tables, removed tables and ownership transfers. Missing measurements are not treated as zero.

Permissions:​

  • 🔒 Use Table Checker: Allow selected administrators to access reports and read finding review history.
  • 📝 Manage Finding Reviews: Separately control which administrators can update review decisions and comments.

Requirements:​

  • ✅ XenForo 2.3.0 or newer.
  • 📁 Readable Source Files: PHP must be able to read the XenForo and add-on source files. File permissions and open_basedir restrictions can limit analysis coverage.
  • 🔒 Database Metadata Access: The database account must be able to read the relevant information_schema metadata, run SHOW COLUMNS and use GET_LOCK() / RELEASE_LOCK() for scan launch coordination.
  • 📊 Hosting Resources: Shared hosting is supported only where its PHP memory, execution time, CPU and database storage limits accommodate the installation. Main scan stages run in batches, but initial schema collection and scan preparation run in a single request. No fixed minimum PHP memory limit has been established. SSH and shell-command execution are not required for scanning.

Useful for:​

  • 🔍 Database Housekeeping: Investigate unfamiliar tables and columns before deciding whether further action is needed.
  • 📋 Add-on Troubleshooting: Collect schema differences and source evidence for a developer to review.
  • 📈 Capacity Planning: Identify growing tables and follow storage changes across add-ons.
  • 📝 Administrator Handover: Preserve review decisions and explanations for future database checks.

FAQ:​

  • ❓ Does Table Checker repair or delete database objects? No. Checks inspect and report on existing objects. They do not repair tables or create, change or remove indexes. Matching indexes and prefix overlaps are structural review candidates; the add-on does not measure query usage, individual index sizes or potential storage savings.
  • 🔍 Does an unknown owner mean a table is unused? No. Ownership detection analyzes supported source patterns. Dynamic names, missing add-on files and incomplete coverage can leave ownership unresolved. Unsupported or conflicting schema declarations are kept separate from confirmed differences.
  • 📝 Do review decisions hide warnings or contact developers? No. Reviews are separate from analysis results and do not suppress warnings. Expected difference and Reported to developer require a comment. Reported to developer records a manual decision; it does not send a message. Incomplete coverage or stale scans retain previous decisions and evidence rather than marking findings resolved.
  • ❓ When do changed check settings and exclusions take effect? They apply to the next scan and do not rewrite published reports. Disabled or excluded findings retain their reviews as unverified. Older reports without saved exclusions do not inherit the current whitelist. At least one check must be enabled to start a scan; ownership information remains available for filters and storage attribution, and daily storage capture runs independently.
  • 📊 What does the storage report measure? Estimated data and index sizes reported by the database server for all base tables in the current database. Attachment files and database logs are excluded. A capture replaces any earlier measurement from the same UTC day. Growth comparisons require a saved baseline for the selected period; previous results remain available if a capture fails.
  • 📦 How reliable are storage totals grouped by add-on? Each table is counted once using its saved XenForo, strong or probable owner, with probable ownership labeled. Unresolved, historical and conflicting owners remain unassigned. Shared columns and references do not receive estimated storage sizes. Ownership transfers are shown separately from growth in tables with the same owner and may include size changes in transferred tables.
  • 📈 Why is add-on storage history unavailable for older measurements? Captures copy ownership and add-on information from the last completed scan. Measurements without that attribution cannot support add-on comparisons. Run a check and capture current sizes to start attributed history. Deleting old scan reports does not rewrite saved storage history.

Screenshots:​


Check Results:​

results.webp
Database check results with review, owner, issue and confidence filters.​

Index Analysis:​

indexes.webp
Review matching index definitions, possible overlaps and protected constraints.​

Character Sets & Collations:​

charsets.webp
Compare character sets and collations with grouped table and column findings.​

Finding Reviews:​

finding_review.webp
Review saved evidence, update a decision and inspect finding history.​

Database Storage:​

storage_table.webp
Track database storage history and inspect the largest tables.​

Scan Confirmation:​

confirm.webp
Review the resource warning before starting a database check.​
Author
Painbaker
Views
1,567
First release
Last update

Ratings

5.00 star(s) 1 ratings

More resources from Painbaker

Latest updates

  1. 2.2.0

    🎉 Deeper Database Insights & Better Schema Analysis This major update expands database analysis...

Latest reviews

An excellent replacement for the former and now unmaintained Add-on Check Tables. Its easy to use and safe when you know what you do and make a backup bevore you put your hands at your DB. Thanks for sharing! :-)
Back
Top Bottom