]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix some minor issues with sqlite3.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 10 Jul 2015 15:21:26 +0000 (16:21 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 10 Jul 2015 15:21:26 +0000 (16:21 +0100)
src/libstat/backends/sqlite3_backend.c

index 90c184ae338efb3343649dd3314a5abd61eb6fab..2d8ae192114a0407ecd97ea2eef2284902fbf640 100644 (file)
@@ -427,7 +427,7 @@ rspamd_sqlite3_learn_token (struct rspamd_task *task, struct token_node_s *tok,
 
        if (rspamd_sqlite3_run_prstmt (bk->sqlite, bk->prstmt,
                        RSPAMD_STAT_BACKEND_SET_TOKEN,
-                       idx, rt->user_id, rt->lang_id, iv) == SQLITE_OK) {
+                       idx, rt->user_id, rt->lang_id, iv) != SQLITE_OK) {
                return FALSE;
        }
 
@@ -482,6 +482,13 @@ rspamd_sqlite3_inc_learns (struct rspamd_task *task, gpointer runtime,
        rspamd_sqlite3_run_prstmt (bk->sqlite, bk->prstmt,
                        RSPAMD_STAT_BACKEND_INC_LEARNS,
                        SQLITE3_DEFAULT, SQLITE3_DEFAULT);
+
+       if (bk->in_transaction) {
+               rspamd_sqlite3_run_prstmt (bk->sqlite, bk->prstmt,
+                               RSPAMD_STAT_BACKEND_TRANSACTION_COMMIT);
+               bk->in_transaction = FALSE;
+       }
+
        rspamd_sqlite3_run_prstmt (bk->sqlite, bk->prstmt,
                        RSPAMD_STAT_BACKEND_GET_LEARNS, &res);
 
@@ -501,6 +508,13 @@ rspamd_sqlite3_dec_learns (struct rspamd_task *task, gpointer runtime,
        rspamd_sqlite3_run_prstmt (bk->sqlite, bk->prstmt,
                        RSPAMD_STAT_BACKEND_DEC_LEARNS,
                        SQLITE3_DEFAULT, SQLITE3_DEFAULT);
+
+       if (bk->in_transaction) {
+               rspamd_sqlite3_run_prstmt (bk->sqlite, bk->prstmt,
+                               RSPAMD_STAT_BACKEND_TRANSACTION_COMMIT);
+               bk->in_transaction = FALSE;
+       }
+
        rspamd_sqlite3_run_prstmt (bk->sqlite, bk->prstmt,
                        RSPAMD_STAT_BACKEND_GET_LEARNS, &res);