From 1d92e7246d5c948a31b0fc00ba7f6423fd0ac36f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 17 Jun 2008 13:56:50 +0300 Subject: [PATCH] CONTEXT=SEARCH optimization: Don't look up expunged messages' UIDs if we don't have any saved search results. --HG-- branch : HEAD --- src/lib-storage/index/index-sync-search.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib-storage/index/index-sync-search.c b/src/lib-storage/index/index-sync-search.c index 7815d6f220..274061a87c 100644 --- a/src/lib-storage/index/index-sync-search.c +++ b/src/lib-storage/index/index-sync-search.c @@ -226,18 +226,19 @@ void index_sync_search_results_update(struct index_mailbox_sync_context *ctx) void index_sync_search_results_expunge(struct index_mailbox_sync_context *ctx) { + struct mailbox *box = &ctx->ibox->box; const struct seq_range *seqs; unsigned int i, count; uint32_t seq, uid; - if (ctx->expunges == NULL) + if (ctx->expunges == NULL || array_count(&box->search_results) == 0) return; seqs = array_get(ctx->expunges, &count); for (i = 0; i < count; i++) { for (seq = seqs[i].seq1; seq <= seqs[i].seq2; seq++) { mail_index_lookup_uid(ctx->ibox->view, seq, &uid); - mailbox_search_results_remove(&ctx->ibox->box, uid); + mailbox_search_results_remove(box, uid); } } } -- 2.47.3