[PATCH] lib: optimize counting documents
David Bremner
david at tethera.net
Wed Jan 11 18:01:15 PST 2017
>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
---
lib/query.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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();
--
2.11.0
More information about the notmuch
mailing list