Added option to disable sqlite auto vacuum

This commit is contained in:
M66B
2022-07-07 10:52:50 +02:00
parent 96c2b4af64
commit e7364ed39c
4 changed files with 48 additions and 9 deletions

View File

@@ -408,13 +408,13 @@ public abstract class DB extends RoomDatabase {
crumb.put("WAL", Boolean.toString(db.isWriteAheadLoggingEnabled()));
Log.breadcrumb("Database", crumb);
if (BuildConfig.DEBUG || Helper.isRedmiNote()) {
// https://www.sqlite.org/pragma.html#pragma_auto_vacuum
// https://android.googlesource.com/platform/external/sqlite.git/+/6ab557bdc070f11db30ede0696888efd19800475%5E!/
Log.i("Set PRAGMA auto_vacuum = INCREMENTAL");
try (Cursor cursor = db.query("PRAGMA auto_vacuum = INCREMENTAL;", null)) {
cursor.moveToNext(); // required
}
// https://www.sqlite.org/pragma.html#pragma_auto_vacuum
// https://android.googlesource.com/platform/external/sqlite.git/+/6ab557bdc070f11db30ede0696888efd19800475%5E!/
boolean sqlite_auto_vacuum = prefs.getBoolean("sqlite_auto_vacuum", !Helper.isRedmiNote());
String mode = (sqlite_auto_vacuum ? "FULL" : "INCREMENTAL");
Log.i("Set PRAGMA auto_vacuum = " + mode);
try (Cursor cursor = db.query("PRAGMA auto_vacuum = " + mode + ";", null)) {
cursor.moveToNext(); // required
}
// https://www.sqlite.org/pragma.html#pragma_cache_size