Modify WAL checkpoint in debug version only

This commit is contained in:
M66B 2020-01-21 08:16:32 +01:00
parent fb2c1e21ca
commit e3ee1cc4b2
1 changed files with 8 additions and 6 deletions

View File

@ -110,12 +110,14 @@ public abstract class DB extends RoomDatabase {
@Override
public void init(@NonNull DatabaseConfiguration configuration) {
// https://www.sqlite.org/pragma.html#pragma_wal_autocheckpoint
File dbfile = configuration.context.getDatabasePath(DB_NAME);
if (dbfile.exists()) {
try (SQLiteDatabase db = SQLiteDatabase.openDatabase(dbfile.getPath(), null, SQLiteDatabase.OPEN_READWRITE)) {
Log.i("DB checkpoint=" + DB_CHECKPOINT);
try (Cursor cursor = db.rawQuery("PRAGMA wal_autocheckpoint=" + DB_CHECKPOINT + ";", null)) {
cursor.moveToNext(); // required
if (BuildConfig.DEBUG) {
File dbfile = configuration.context.getDatabasePath(DB_NAME);
if (dbfile.exists()) {
try (SQLiteDatabase db = SQLiteDatabase.openDatabase(dbfile.getPath(), null, SQLiteDatabase.OPEN_READWRITE)) {
Log.i("DB checkpoint=" + DB_CHECKPOINT);
try (Cursor cursor = db.rawQuery("PRAGMA wal_autocheckpoint=" + DB_CHECKPOINT + ";", null)) {
cursor.moveToNext(); // required
}
}
}
}