[PATCH] lib: optimize counting documents
Jani Nikula
jani at nikula.org
Wed Jan 18 09:19:34 PST 2017
On Wed, 11 Jan 2017, David Bremner <david at tethera.net> wrote:
> 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
A careful reading of get_mset() API reference seems to agree with this.
BR,
Jani.
> ---
> 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
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list