]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts: Added fts_backend_rescan()
authorTimo Sirainen <tss@iki.fi>
Fri, 12 Aug 2011 14:33:29 +0000 (17:33 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 12 Aug 2011 14:33:29 +0000 (17:33 +0300)
src/plugins/fts-solr/fts-backend-solr-old.c
src/plugins/fts-solr/fts-backend-solr.c
src/plugins/fts-squat/fts-backend-squat.c
src/plugins/fts/fts-api-private.h
src/plugins/fts/fts-api.c
src/plugins/fts/fts-api.h

index ac5bd242e8b041653ee705d169476dcf4e131930..4c2e2a486152375688b05e9653928be3b4fee900 100644 (file)
@@ -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,
index c2937240477393c29579296de1fd66b711adcff6..9f5836b58395eebf7fe2241de71054626c34f50b 100644 (file)
@@ -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,
index 1793f1e023d8678367acd13343c55b098b13733a..b321f24153b1a41005e52bd4c72a2278d19bdef8 100644 (file)
@@ -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,
index dfe7d874ecef07d09f39d8768f442ef2e1a3b97f..3fba4dbb17e3beeedb22d9f41bff5e2ccb699566 100644 (file)
@@ -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,
index 3066f8ace5e93c46b7f2c59d066626cd07e3fd43..a375818dacbe9064eef2c293f3a69adf90e499a5 100644 (file)
@@ -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 :
index dfd6bbf75175550c252ab0a4b02b07e7eaa71e77..19bce13cc0ca0ca3b6db2a49bae568594b3632c2 100644 (file)
@@ -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);