Mercurial > dovecot > core-2.2
changeset 18829:ee82bdc63939
fts: lib-fts search arg expansion wasn't done for non-TEXT/BODY searches when fts_enforced=no
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 04 Jun 2015 21:57:32 +0300 |
parents | 7cb0bc84914d |
children | 90210d09b83c |
files | src/plugins/fts/fts-search.c src/plugins/fts/fts-storage.c |
diffstat | 2 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts/fts-search.c Thu Jun 04 00:45:11 2015 +0300 +++ b/src/plugins/fts/fts-search.c Thu Jun 04 21:57:32 2015 +0300 @@ -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 @@ &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) {
--- a/src/plugins/fts/fts-storage.c Thu Jun 04 00:45:11 2015 +0300 +++ b/src/plugins/fts/fts-storage.c Thu Jun 04 21:57:32 2015 +0300 @@ -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 @@ 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);