Bug 296039

Summary: [SQLite] PRAGMA incrementalVacuum does not work
Product: WebKit Reporter: Przemyslaw Gorszkowski <pgorszkowski>
Component: New BugsAssignee: Przemyslaw Gorszkowski <pgorszkowski>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   

Przemyslaw Gorszkowski
Reported 2025-07-16 01:10:03 PDT
PRAGMA incrementalVacuum does not work because it is multi-step PRAGMA(multiple steps which return SQLITE_ROW) and in SQLiteDatabase::runIncrementalVacuumCommand it is treated as single-step (the expected return is SQLITE_DONE). I couldn't find direct information about that in documentation of SQLite except one sentence in `sqlite3_data_count`(https://www.sqlite.org/c3ref/data_count.html) description: "... except in the case of the PRAGMA incremental_vacuum where it always returns zero since each step of that multi-step pragma returns 0 columns of data.". I tested it and confirmed by adding "incrementalVacuum" functionality for IndexedDB. The original fix is: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1532 - it includes: adding "incrementalVacuum" functionality for IndexedDB and fix for "PRAGMA incrementalVacuum". I would like to add fix for "PRAGMA incrementalVacuum" first and then separately adding "incrementalVacuum" functionality to IndexedDB.
Attachments
Przemyslaw Gorszkowski
Comment 1 2025-07-16 02:10:09 PDT
EWS
Comment 2 2025-07-16 23:20:29 PDT
Committed 297509@main (8c824fc262b7): <https://commits.webkit.org/297509@main> Reviewed commits have been landed. Closing PR #48110 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2025-07-16 23:23:23 PDT
Note You need to log in before you can comment on or make changes to this bug.