dovecot-1.2: CONTEXT=SEARCH optimization: Don't look up expunged...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Jun 17 15:31:11 EEST 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/bc05d48eac44
changeset: 7879:bc05d48eac44
user: Timo Sirainen <tss at iki.fi>
date: Tue Jun 17 13:56:50 2008 +0300
description:
CONTEXT=SEARCH optimization: Don't look up expunged messages' UIDs if we
don't have any saved search results.
diffstat:
1 file changed, 6 insertions(+), 5 deletions(-)
src/lib-storage/index/index-sync-search.c | 11 ++++++-----
diffs (28 lines):
diff -r 1da72e385de4 -r bc05d48eac44 src/lib-storage/index/index-sync-search.c
--- a/src/lib-storage/index/index-sync-search.c Tue Jun 17 12:36:25 2008 +0300
+++ b/src/lib-storage/index/index-sync-search.c Tue Jun 17 13:56:50 2008 +0300
@@ -226,18 +226,19 @@ void index_sync_search_results_update(st
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);
+ }
+ }
+}
More information about the dovecot-cvs
mailing list