From: Vsevolod Stakhov Date: Tue, 1 Dec 2015 18:31:16 +0000 (+0000) Subject: Fix old sqlite support X-Git-Tag: 1.1.0~434 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7218923bbb1c9136a1b6445a5e815a12f8ed408a;p=rspamd.git Fix old sqlite support --- diff --git a/src/libserver/fuzzy_backend.c b/src/libserver/fuzzy_backend.c index 718274ca5..a73de509c 100644 --- a/src/libserver/fuzzy_backend.c +++ b/src/libserver/fuzzy_backend.c @@ -674,7 +674,7 @@ rspamd_fuzzy_backend_add (struct rspamd_fuzzy_backend *backend, gboolean rspamd_fuzzy_backend_finish_update (struct rspamd_fuzzy_backend *backend) { - gint rc, wal_frames, wal_checkpointed; + gint rc, wal_frames, wal_checkpointed, mode; rc = rspamd_fuzzy_backend_run_stmt (backend, TRUE, RSPAMD_FUZZY_BACKEND_TRANSACTION_COMMIT); @@ -687,10 +687,18 @@ rspamd_fuzzy_backend_finish_update (struct rspamd_fuzzy_backend *backend) return FALSE; } else { +#ifdef SQLITE_OPEN_WAL +#ifdef SQLITE_CHECKPOINT_TRUNCATE + mode = SQLITE_CHECKPOINT_TRUNCATE; +#elif defined(SQLITE_CHECKPOINT_RESTART) + mode = SQLITE_CHECKPOINT_RESTART; +#elif defined(SQLITE_CHECKPOINT_FULL) + mode = SQLITE_CHECKPOINT_FULL; +#endif /* Perform wal checkpoint (might be long) */ if (sqlite3_wal_checkpoint_v2 (backend->db, NULL, - SQLITE_CHECKPOINT_TRUNCATE, + mode, &wal_frames, &wal_checkpointed) != SQLITE_OK) { msg_warn_fuzzy_backend ("cannot commit checkpoint: %s", @@ -701,7 +709,7 @@ rspamd_fuzzy_backend_finish_update (struct rspamd_fuzzy_backend *backend) "%d, checkpointed: %d", wal_frames, wal_checkpointed); } } - +#endif return TRUE; }