From a569c6df4ffe05acc242e269d926449e50702d59 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 12 Aug 2011 17:33:29 +0300 Subject: [PATCH] fts: Added fts_backend_rescan() --- src/plugins/fts-solr/fts-backend-solr-old.c | 1 + src/plugins/fts-solr/fts-backend-solr.c | 1 + src/plugins/fts-squat/fts-backend-squat.c | 1 + src/plugins/fts/fts-api-private.h | 1 + src/plugins/fts/fts-api.c | 6 ++++++ src/plugins/fts/fts-api.h | 3 +++ 6 files changed, 13 insertions(+) diff --git a/src/plugins/fts-solr/fts-backend-solr-old.c b/src/plugins/fts-solr/fts-backend-solr-old.c index ac5bd242e8..4c2e2a4861 100644 --- a/src/plugins/fts-solr/fts-backend-solr-old.c +++ b/src/plugins/fts-solr/fts-backend-solr-old.c @@ -803,6 +803,7 @@ struct fts_backend fts_backend_solr_old = { fts_backend_solr_update_unset_build_key, fts_backend_solr_update_build_more, fts_backend_solr_refresh, + NULL, fts_backend_solr_optimize, fts_backend_default_can_lookup, fts_backend_solr_lookup, diff --git a/src/plugins/fts-solr/fts-backend-solr.c b/src/plugins/fts-solr/fts-backend-solr.c index c293724047..9f5836b583 100644 --- a/src/plugins/fts-solr/fts-backend-solr.c +++ b/src/plugins/fts-solr/fts-backend-solr.c @@ -746,6 +746,7 @@ struct fts_backend fts_backend_solr = { fts_backend_solr_update_unset_build_key, fts_backend_solr_update_build_more, fts_backend_solr_refresh, + NULL, fts_backend_solr_optimize, fts_backend_default_can_lookup, fts_backend_solr_lookup, diff --git a/src/plugins/fts-squat/fts-backend-squat.c b/src/plugins/fts-squat/fts-backend-squat.c index 1793f1e023..b321f24153 100644 --- a/src/plugins/fts-squat/fts-backend-squat.c +++ b/src/plugins/fts-squat/fts-backend-squat.c @@ -470,6 +470,7 @@ struct fts_backend fts_backend_squat = { fts_backend_squat_update_unset_build_key, fts_backend_squat_update_build_more, fts_backend_squat_refresh, + NULL, fts_backend_squat_optimize, fts_backend_default_can_lookup, fts_backend_squat_lookup, diff --git a/src/plugins/fts/fts-api-private.h b/src/plugins/fts/fts-api-private.h index dfe7d874ec..3fba4dbb17 100644 --- a/src/plugins/fts/fts-api-private.h +++ b/src/plugins/fts/fts-api-private.h @@ -32,6 +32,7 @@ struct fts_backend_vfuncs { const unsigned char *data, size_t size); int (*refresh)(struct fts_backend *backend); + int (*rescan)(struct fts_backend *backend); int (*optimize)(struct fts_backend *backend); bool (*can_lookup)(struct fts_backend *backend, diff --git a/src/plugins/fts/fts-api.c b/src/plugins/fts/fts-api.c index 3066f8ace5..a375818dac 100644 --- a/src/plugins/fts/fts-api.c +++ b/src/plugins/fts/fts-api.c @@ -186,6 +186,12 @@ int fts_backend_refresh(struct fts_backend *backend) return backend->v.refresh(backend); } +int fts_backend_rescan(struct fts_backend *backend) +{ + return backend->v.rescan == NULL ? 0 : + backend->v.rescan(backend); +} + int fts_backend_optimize(struct fts_backend *backend) { return backend->v.optimize == NULL ? 0 : diff --git a/src/plugins/fts/fts-api.h b/src/plugins/fts/fts-api.h index dfd6bbf751..19bce13cc0 100644 --- a/src/plugins/fts/fts-api.h +++ b/src/plugins/fts/fts-api.h @@ -107,6 +107,9 @@ int fts_backend_update_build_more(struct fts_backend_update_context *ctx, /* Refresh index to make sure we see latest changes from lookups. Returns 0 if ok, -1 if error. */ int fts_backend_refresh(struct fts_backend *backend); +/* Go through the entire index and make sure all mails are indexed, + and delete any extra mails in the index. */ +int fts_backend_rescan(struct fts_backend *backend); /* Optimize the index. This can be a somewhat heavy operation. */ int fts_backend_optimize(struct fts_backend *backend); -- 2.47.3