gboolean
rspamd_fuzzy_backend_finish_update (struct rspamd_fuzzy_backend *backend)
{
- gint rc;
+ gint rc, wal_frames, wal_checkpointed;
rc = rspamd_fuzzy_backend_run_stmt (backend, TRUE,
RSPAMD_FUZZY_BACKEND_TRANSACTION_COMMIT);
RSPAMD_FUZZY_BACKEND_TRANSACTION_ROLLBACK);
return FALSE;
}
+ else {
+ /* Perform wal checkpoint (might be long) */
+ if (sqlite3_wal_checkpoint_v2 (backend->db,
+ NULL,
+ SQLITE_CHECKPOINT_TRUNCATE,
+ &wal_frames,
+ &wal_checkpointed) != SQLITE_OK) {
+ msg_warn_fuzzy_backend ("cannot commit checkpoint: %s",
+ sqlite3_errmsg (backend->db));
+ }
+ else {
+ msg_info_fuzzy_backend ("total number of frames in the wal file: "
+ "%d, checkpointed: %d", wal_frames, wal_checkpointed);
+ }
+ }
return TRUE;
}