Re: PMS 1.43.x and discussions with Plex
This implementation of FTS Rebuilding is harmful in PMS 1.43.x
For safety to all, it has been disabled.
You may enable it by removing the 'return 0' in function
DoFTSRebuild (PMS 1.42.2 and below)
automatic and reindex both reported FTS Rebuild PASS / "successful" based
solely on whether the rebuild SQL statement itself errored, never re-running
CheckFTS (the same function used to detect the damage) to confirm the index
is actually clean afterward.
Call CheckFTS again after DoFTSRebuild in both paths and gate the PASS/FAIL
message on its result. Tested live against a database with confirmed FTS
corruption (see issue #289): the new verification step now visibly re-checks
after rebuilding and only reports success once CheckFTS independently
confirms it.
Fixes#289
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
See closed PR "Freebsd compat #224" for discussion.
Updated version.
Uses FreeBSD Ports (pkg command) to determine which plexmediaserver package is installed and sets paths.
v1.11.03
1. Add DEFLATE command to provide fast database cleanup while Plex engineering fixes the root problems.
2. Handle Databases not on same storage as AppSuppDir
3. Calculate SpaceNeeded based on $DBDIR
4. Fix menu items
5. Fix reporting of SpaceNeeded when unable to process.
6. Add summary logging for DEFLATE actions in case disk full.
1. Handle Databases not on same storage as AppSuppDir
2. Calculate SpaceNeeded based on $DBDIR
3. Fix menu items
4. Fix reporting of SpaceNeeded when unable to process.
v1.11.02
Add DEFLATE command to provide fast database cleanup while Plex engineering fixes the root problems.