Truncate(*1) it if WAL file is too big when opening DB
*1 -- not truncate(2) but "PRAGMA wal_checkpoint(TRUNCATE)" Otherwise, depending on how an app operate on a DB, SQLite may not have a chance to "shrink" the WAL file. Fixes: 112777941 Bug: 111939259 Test: atest /android/master/frameworks/base/core/tests/coretests/src/android/database/sqlite/SQLiteCompatibilityWalFlagsTest.java Test: Manual test with google dailer: 1. With normalized_spam.db-wal > 100MB and receive a phone call -> WAL file gets truncated to 0 bytes. 2. Restart the dialer process and receive a phone call again -> WAL file is already 0 bytes; won't be truncated. 3. Restart with the WAL file deleted Same as #2. WAL file will be created before the added logic, but is 0 bytes, so it won't be truncated. 4. Test with settings put global sqlite_compatibility_wal_flags truncate_size=1024 -> make sure the threshold is overridden Merged-in: I2b193603e5dfa493ccccb8123db592f0e9c0e7ae Change-Id: I2b193603e5dfa493ccccb8123db592f0e9c0e7ae (cherry picked from commit 96e06002)
Loading
Please register or sign in to comment