Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/lib-storage/mailbox-search-result-private.h @ 9354:687ac828b964 HEAD
lib-index: modseqs weren't tracked properly within session when changes were done.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 01 Sep 2009 13:05:03 -0400 |
parents | 29d6c17f2009 |
children |
rev | line source |
---|---|
7647
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
1 #ifndef MAILBOX_SEARCH_RESULT_PRIVATE_H |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 #define MAILBOX_SEARCH_RESULT_PRIVATE_H |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
4 #include "mail-storage.h" |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
5 |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 struct mail_search_result { |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 struct mailbox *box; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
8 enum mailbox_search_result_flags flags; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
9 struct mail_search_args *search_args; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
10 |
7671
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
11 /* UIDs of messages currently in the result */ |
7647
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
12 ARRAY_TYPE(seq_range) uids; |
7671
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
13 /* UIDs of messages that will never match the result */ |
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
14 ARRAY_TYPE(seq_range) never_uids; |
7647
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
15 ARRAY_TYPE(seq_range) removed_uids, added_uids; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
16 |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 unsigned int args_have_flags:1; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
18 unsigned int args_have_keywords:1; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
19 unsigned int args_have_modseq:1; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
20 }; |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
21 |
7893
9e4be86d4b7d
Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents:
7671
diff
changeset
|
22 struct mail_search_result * |
9e4be86d4b7d
Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents:
7671
diff
changeset
|
23 mailbox_search_result_alloc(struct mailbox *box, struct mail_search_args *args, |
9e4be86d4b7d
Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents:
7671
diff
changeset
|
24 enum mailbox_search_result_flags flags); |
9e4be86d4b7d
Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents:
7671
diff
changeset
|
25 |
7647
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
26 /* called when initial search is done. */ |
7898
29d6c17f2009
Virtual mailboxes: Speed up initial search result building using modseqs.
Timo Sirainen <tss@iki.fi>
parents:
7893
diff
changeset
|
27 void mailbox_search_result_initial_done(struct mail_search_result *result); |
7647
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
28 void mailbox_search_results_initial_done(struct mail_search_context *ctx); |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
29 |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
30 void mailbox_search_result_add(struct mail_search_result *result, uint32_t uid); |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
31 void mailbox_search_result_remove(struct mail_search_result *result, |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
32 uint32_t uid); |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
33 void mailbox_search_results_add(struct mail_search_context *ctx, uint32_t uid); |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
34 void mailbox_search_results_remove(struct mailbox *box, uint32_t uid); |
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
35 |
7671
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
36 void mailbox_search_result_never(struct mail_search_result *result, |
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
37 uint32_t uid); |
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
38 void mailbox_search_results_never(struct mail_search_context *ctx, |
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
39 uint32_t uid); |
882888286bf5
Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents:
7647
diff
changeset
|
40 |
7647
879208fdc7e3
Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
41 #endif |