changeset 7879:bc05d48eac44 HEAD

CONTEXT=SEARCH optimization: Don't look up expunged messages' UIDs if we don't have any saved search results.
author Timo Sirainen <tss@iki.fi>
date Tue, 17 Jun 2008 13:56:50 +0300
parents 1da72e385de4
children cca4ef877d43
files src/lib-storage/index/index-sync-search.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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_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);
 		}
 	}
 }