X-Git-Url: http://rtime.felk.cvut.cz/gitweb/notmuch.git/blobdiff_plain/64b155842a87c228c45ec20fb163891695e6ccc2..cfabfc6dab95f28eaa3d7261bca38ade32a69f79:/notmuch-search.c diff --git a/notmuch-search.c b/notmuch-search.c index 2eaad32f..6d08c250 100644 --- a/notmuch-search.c +++ b/notmuch-search.c @@ -121,7 +121,13 @@ do_search_threads (search_context_t *ctx) notmuch_status_t status; if (ctx->offset < 0) { - ctx->offset += notmuch_query_count_threads (ctx->query); + unsigned count; + notmuch_status_t status; + status = notmuch_query_count_threads_st (ctx->query, &count); + if (print_status_query ("notmuch search", ctx->query, status)) + return 1; + + ctx->offset += count; if (ctx->offset < 0) ctx->offset = 0; } @@ -521,7 +527,13 @@ do_search_messages (search_context_t *ctx) notmuch_status_t status; if (ctx->offset < 0) { - ctx->offset += notmuch_query_count_messages (ctx->query); + unsigned count; + notmuch_status_t status; + status = notmuch_query_count_messages_st (ctx->query, &count); + if (print_status_query ("notmuch search", ctx->query, status)) + return 1; + + ctx->offset += count; if (ctx->offset < 0) ctx->offset = 0; } @@ -883,6 +895,11 @@ notmuch_address_command (notmuch_config_t *config, int argc, char *argv[]) _talloc_free_for_g_hash, _list_free_for_g_hash); + /* The order is not guaranteed if a full pass is required, so go + * for fastest. */ + if (ctx->output & OUTPUT_COUNT || ctx->dedup == DEDUP_ADDRESS) + notmuch_query_set_sort (ctx->query, NOTMUCH_SORT_UNSORTED); + ret = do_search_messages (ctx); g_hash_table_unref (ctx->addresses);