Allow sqlite checkpoints

pull/207/head
M66B 4 years ago
parent fcbe52b401
commit 4e147d440e

@ -2299,9 +2299,6 @@ public abstract class DB extends RoomDatabase {
} }
public static void checkpoint(Context context) { public static void checkpoint(Context context) {
if (!BuildConfig.DEBUG)
return;
// https://www.sqlite.org/pragma.html#pragma_wal_checkpoint // https://www.sqlite.org/pragma.html#pragma_wal_checkpoint
DB db = getInstance(context); DB db = getInstance(context);
db.getQueryExecutor().execute(new Runnable() { db.getQueryExecutor().execute(new Runnable() {

@ -197,7 +197,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
"experiments", "crash_reports", "cleanup_attachments", "experiments", "crash_reports", "cleanup_attachments",
"protocol", "debug", "log_level", "test1", "test2", "test3", "test4", "test5", "protocol", "debug", "log_level", "test1", "test2", "test3", "test4", "test5",
"work_manager", // "external_storage", "work_manager", // "external_storage",
"query_threads", "wal", "checkpoints", "sqlite_analyze", "sqlite_cache", "query_threads", "wal", "sqlite_checkpoints", "sqlite_analyze", "sqlite_cache",
"chunk_size", "undo_manager", "webview_legacy", "chunk_size", "undo_manager", "webview_legacy",
"use_modseq", "uid_command", "perform_expunge", "uid_expunge", "use_modseq", "uid_command", "perform_expunge", "uid_expunge",
"auth_plain", "auth_login", "auth_ntlm", "auth_sasl", "auth_apop", "auth_plain", "auth_login", "auth_ntlm", "auth_sasl", "auth_apop",
@ -881,7 +881,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
swCheckpoints.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { swCheckpoints.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("checkpoints", checked).apply(); prefs.edit().putBoolean("sqlite_checkpoints", checked).apply();
} }
}); });
@ -1602,7 +1602,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
sbRoomQueryThreads.setProgress(query_threads); sbRoomQueryThreads.setProgress(query_threads);
swWal.setChecked(prefs.getBoolean("wal", true)); swWal.setChecked(prefs.getBoolean("wal", true));
swCheckpoints.setChecked(prefs.getBoolean("checkpoints", true)); swCheckpoints.setChecked(prefs.getBoolean("sqlite_checkpoints", false));
swAnalyze.setChecked(prefs.getBoolean("sqlite_analyze", true)); swAnalyze.setChecked(prefs.getBoolean("sqlite_analyze", true));
int sqlite_cache = prefs.getInt("sqlite_cache", DB.DEFAULT_CACHE_SIZE); int sqlite_cache = prefs.getInt("sqlite_cache", DB.DEFAULT_CACHE_SIZE);

@ -59,7 +59,7 @@ public class WorkerFts extends Worker {
Context context = getApplicationContext(); Context context = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean checkpoints = prefs.getBoolean("checkpoints", true); boolean checkpoints = prefs.getBoolean("sqlite_checkpoints", false);
int indexed = 0; int indexed = 0;
List<Long> ids = new ArrayList<>(INDEX_BATCH_SIZE); List<Long> ids = new ArrayList<>(INDEX_BATCH_SIZE);

Loading…
Cancel
Save