lib: optimize counting documents

From #xapian

olly> bremner: btw, i noticed notmuch count see ms to request all the documents and then ignores them

bremner> hmm. There's something funny about the way that notmuch uses matches in general iirc

olly> it should be able to do: mset = enquire.get_mset (0, 0, notmuch->xapian_db->get_doccount ());
...
olly> get_matches_estimated() will be exact because check_at_least is the size of the database
This commit is contained in:
David Bremner 2017-01-11 22:01:15 -04:00
parent 4a2ce7b570
commit 70519319b5

View file

@ -606,8 +606,9 @@ _notmuch_query_count_documents (notmuch_query_t *query, const char *type, unsign
/* /*
* Set the checkatleast parameter to the number of documents * Set the checkatleast parameter to the number of documents
* in the database to make get_matches_estimated() exact. * in the database to make get_matches_estimated() exact.
* Set the max parameter to 0 to avoid fetching documents we will discard.
*/ */
mset = enquire.get_mset (0, notmuch->xapian_db->get_doccount (), mset = enquire.get_mset (0, 0,
notmuch->xapian_db->get_doccount ()); notmuch->xapian_db->get_doccount ());
count = mset.get_matches_estimated(); count = mset.get_matches_estimated();