iter->batch_size = batch_size;
mail_search_args_ref(iter->search_args);
- /* Assume that the search query is always a seqset or SEARCH_ALL. */
switch (search_args->args->type) {
case SEARCH_SEQSET:
+ case SEARCH_UIDSET:
break;
case SEARCH_ALL:
if (search_args->args->match_not) {
search_args->args->type);
}
- i_assert(search_args->args->type == SEARCH_SEQSET);
+ i_assert(search_args->args->type == SEARCH_SEQSET ||
+ search_args->args->type == SEARCH_UIDSET);
i_array_init(&iter->seqset_left,
array_count(&search_args->args->value.seqset));
/* Iterate search_args in batches of messages. The search_args itself is
modified each time imap_search_seqset_iter_next() is called. Note that
- search_args is expected to come from imap_search_get_anyset(), i.e. it
- must contain only SEARCH_SEQSET or SEARCH_ALL arg. */
+ search_args is expected to come from imap_search_get_anyset(), so it should
+ have a single parameter containing SEARCH_ALL, SEARCH_SEQSET or
+ SEARCH_UIDSET. */
struct imap_search_seqset_iter *
imap_search_seqset_iter_init(struct mail_search_args *search_args,
uint32_t messages_count, unsigned int batch_size);