]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts: lib-fts search arg expansion wasn't done for non-TEXT/BODY searches when fts_enf...
authorTimo Sirainen <tss@iki.fi>
Thu, 4 Jun 2015 18:57:32 +0000 (21:57 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 4 Jun 2015 18:57:32 +0000 (21:57 +0300)
src/plugins/fts/fts-search.c
src/plugins/fts/fts-storage.c

index 7bc772dca62aad5b7a97f3ed01efaaaff85753dd..66d6522af8a27debed45faf604da28c367da9369 100644 (file)
@@ -7,6 +7,7 @@
 #include "mail-search.h"
 #include "../virtual/virtual-storage.h"
 #include "fts-api-private.h"
+#include "fts-search-args.h"
 #include "fts-search-serialize.h"
 #include "fts-storage.h"
 
@@ -353,6 +354,10 @@ void fts_search_lookup(struct fts_search_context *fctx)
                              &seq1, &seq2);
        fctx->first_unindexed_seq = seq1 != 0 ? seq1 : (uint32_t)-1;
 
+       if ((fctx->backend->flags & FTS_BACKEND_FLAG_TOKENIZED_INPUT) != 0) {
+               if (fts_search_args_expand(fctx->backend, fctx->args) < 0)
+                       return;
+       }
        fts_search_serialize(fctx->orig_matches, fctx->args->args);
 
        if (fts_search_lookup_level(fctx, fctx->args->args, TRUE) == 0) {
index 36a790115531aaf185a5cfe7a38ba56235d9a974..ea972ec6ebf3fe1c21c354fcaaeac6e6aa67ff23 100644 (file)
@@ -14,7 +14,6 @@
 #include "fts-tokenizer.h"
 #include "fts-indexer.h"
 #include "fts-build-mail.h"
-#include "fts-search-args.h"
 #include "fts-search-serialize.h"
 #include "fts-plugin.h"
 #include "fts-storage.h"
@@ -133,11 +132,6 @@ static void fts_try_build_init(struct mail_search_context *ctx,
        if (ret < 0)
                return;
 
-       if ((fctx->backend->flags & FTS_BACKEND_FLAG_TOKENIZED_INPUT) != 0) {
-               if (fts_search_args_expand(fctx->backend, fctx->args) < 0)
-                       return;
-       }
-
        if (ret == 0) {
                /* the index was up to date */
                fts_search_lookup(fctx);