Add detection and automatic repair for FTS4 (Full-Text Search) index
corruption, which can occur even when PRAGMA integrity_check passes.
New functions:
- CheckFTS(): Validates FTS4 index integrity using SQLite's integrity-check command
- DoFTSRebuild(): Rebuilds corrupted FTS4 indexes using SQLite's rebuild command
Enhanced existing commands:
- 'check' (option 3): Now includes FTS integrity checking
- 'reindex' (option 6): Now checks FTS indexes and rebuilds if corruption detected
- 'automatic' (option 2): Checks FTS after repair/reindex and automatically rebuilds if damaged
Refactored FTS table query into reusable FTS_TABLE_QUERY constant for maintainability.
Fixes: https://github.com/ChuckPa/DBRepair/issues/269
Deflate
- Create new bandwidth_statistics table with proper schema.
- Transfer only valid data from existing bandwidth statistics into new.
- Drop old table.
- Vacuum into new database.
Merge Prune & Purge as one proper command
Update ASUSTOR documentation error.
Finalize Deflate integration & reporting.
Update Release Notes
Port existing batch script behavior over to PowerShell, and switch over to a
command-based pattern like DBRepair.sh - that is, allow the user to pass in a
list of commands to be run automatically, or, if no commands are provided,
interactively allow the user to choose what to do.
PlexDBRepair - release v01.03.00
1. Purge command ('piurge') - Remove old image files from Transcode cache
2. Environment variables support to tailor operation
- DBREPAIR_CACHEAGE - Set max age of files to retain
- DBREPAIR_PAGESIZE - Set Plex SQLite database page_size
Separate Quit and exit into two commands.
- Quit is immediate exit without cleanup
- Exit provides option to remove temp files
- EOF exit will always retain temp files.