Selaa lähdekoodia

Allow opening of fuzzy storage with no vacuum.

tags/1.0.5
Vsevolod Stakhov 8 vuotta sitten
vanhempi
commit
0f74ebee2b
3 muutettua tiedostoa jossa 16 lisäystä ja 5 poistoa
  1. 5
    1
      src/fuzzy_storage.c
  2. 9
    3
      src/libserver/fuzzy_backend.c
  3. 2
    1
      src/libserver/fuzzy_backend.h

+ 5
- 1
src/fuzzy_storage.c Näytä tiedosto

@@ -507,6 +507,7 @@ start_fuzzy (struct rspamd_worker *worker)
struct rspamd_fuzzy_storage_ctx *ctx = worker->ctx;
GError *err = NULL;
gdouble next_check;
struct event usr2_

ctx->ev_base = rspamd_prepare_worker (worker,
"fuzzy",
@@ -514,7 +515,10 @@ start_fuzzy (struct rspamd_worker *worker)
server_stat = worker->srv->stat;


if ((ctx->backend = rspamd_fuzzy_backend_open (ctx->hashfile, &err)) == NULL) {
/*
* Open DB and perform VACUUM
*/
if ((ctx->backend = rspamd_fuzzy_backend_open (ctx->hashfile, TRUE, &err)) == NULL) {
msg_err ("cannot open backend: %e", err);
g_error_free (err);
exit (EXIT_SUCCESS);

+ 9
- 3
src/libserver/fuzzy_backend.c Näytä tiedosto

@@ -407,8 +407,10 @@ rspamd_fuzzy_backend_open_db (const gchar *path, GError **err)
return bk;
}

struct rspamd_fuzzy_backend*
rspamd_fuzzy_backend_open (const gchar *path, GError **err)
struct rspamd_fuzzy_backend *
rspamd_fuzzy_backend_open (const gchar *path,
gboolean vacuum,
GError **err)
{
gchar *dir;
gint fd;
@@ -494,7 +496,11 @@ rspamd_fuzzy_backend_open (const gchar *path, GError **err)
sqlite3_errmsg (backend->db));
}

rspamd_fuzzy_backend_run_simple (RSPAMD_FUZZY_BACKEND_VACUUM, backend, NULL);
if (vacuum) {
rspamd_fuzzy_backend_run_simple (RSPAMD_FUZZY_BACKEND_VACUUM,
backend,
NULL);
}

if (rspamd_fuzzy_backend_run_stmt (backend, RSPAMD_FUZZY_BACKEND_COUNT)
== SQLITE_OK) {

+ 2
- 1
src/libserver/fuzzy_backend.h Näytä tiedosto

@@ -35,7 +35,8 @@ struct rspamd_fuzzy_backend;
* @param err error pointer
* @return backend structure or NULL
*/
struct rspamd_fuzzy_backend* rspamd_fuzzy_backend_open (const gchar *path,
struct rspamd_fuzzy_backend *rspamd_fuzzy_backend_open (const gchar *path,
gboolean vacuum,
GError **err);

/**

Loading…
Peruuta
Tallenna