From 4df686f49e50eebc0978f06cf33538bb270fb3c4 Mon Sep 17 00:00:00 2001 From: Miroslav Prasil Date: Mon, 18 Feb 2019 10:48:48 +0000 Subject: [PATCH] Add an option to not enable WAL (should help in #399) --- src/config.rs | 3 +++ src/main.rs | 12 +++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/config.rs b/src/config.rs index f49e8cc6..dd3377db 100644 --- a/src/config.rs +++ b/src/config.rs @@ -253,6 +253,9 @@ make_config! { extended_logging: bool, false, def, true; /// Log file path log_file: String, false, option; + + /// Enable DB WAL |> Turning this off might lead to worse performance, but might help if using bitwarden_rs on some exotic filesystems, that do not support WAL + enable_db_wal: bool, false, def, true; }, /// Yubikey settings diff --git a/src/main.rs b/src/main.rs index 45c1fbe7..db6488ff 100644 --- a/src/main.rs +++ b/src/main.rs @@ -168,11 +168,13 @@ fn check_db() { } // Turn on WAL in SQLite - use diesel::RunQueryDsl; - let connection = db::get_connection().expect("Can't conect to DB"); - diesel::sql_query("PRAGMA journal_mode=wal") - .execute(&connection) - .expect("Failed to turn on WAL"); + if CONFIG.enable_db_wal() { + use diesel::RunQueryDsl; + let connection = db::get_connection().expect("Can't conect to DB"); + diesel::sql_query("PRAGMA journal_mode=wal") + .execute(&connection) + .expect("Failed to turn on WAL"); + } } fn check_rsa_keys() {