diff options
| author | David Bremner <david@tethera.net> | 2017-01-11 22:01:15 -0400 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2017-01-27 21:54:44 -0400 |
| commit | 70519319b59ca55d511c5b44ff8c299cbe93c572 (patch) | |
| tree | 643c6d083f9fdc8da3fd3bfa0cf3af72a42d4275 | |
| parent | 4a2ce7b5706b53cdd30c474d556f18d731c21bb5 (diff) | |
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
| -rw-r--r-- | lib/query.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/query.cc b/lib/query.cc index 53efd4e1..4ccd8104 100644 --- a/lib/query.cc +++ b/lib/query.cc @@ -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 * 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 ()); count = mset.get_matches_estimated(); |
