};
static const char *create_tables_sql =
- "BEGIN;"
+ "BEGIN IMMEDIATE;"
"CREATE TABLE users("
"id INTEGER PRIMARY KEY,"
"name TEXT,"
if (rspamd_sqlite3_run_prstmt (bk, RSPAMD_STAT_BACKEND_GET_TOKEN,
idx, rt->user_id, rt->lang_id, &iv) == SQLITE_OK) {
res->value = iv;
+
+ /* TODO: purge empty values */
+ if (iv == 0) {
+ return FALSE;
+ }
}
else {
res->value = 0.0;
g_assert (rt != NULL);
bk = rt->db;
- rspamd_sqlite3_run_prstmt (bk, RSPAMD_STAT_BACKEND_GET_LEARNS, &res);
rspamd_sqlite3_run_prstmt (bk, RSPAMD_STAT_BACKEND_INC_LEARNS,
SQLITE3_DEFAULT, SQLITE3_DEFAULT);
+ rspamd_sqlite3_run_prstmt (bk, RSPAMD_STAT_BACKEND_GET_LEARNS, &res);
return res;
}
g_assert (rt != NULL);
bk = rt->db;
- rspamd_sqlite3_run_prstmt (bk, RSPAMD_STAT_BACKEND_GET_LEARNS, &res);
rspamd_sqlite3_run_prstmt (bk, RSPAMD_STAT_BACKEND_DEC_LEARNS,
SQLITE3_DEFAULT, SQLITE3_DEFAULT);
+ rspamd_sqlite3_run_prstmt (bk, RSPAMD_STAT_BACKEND_GET_LEARNS, &res);
return res;
}