lib: make notmuch_query_count_messages explicitely exact

The default is actually exact if no checkatleast parameter is
specified. This change makes that explicit, mainly for documentation,
but also to be safe in the unlikely event of a change of default.

[ commit message rewritten by db based on id:87lho0nlkk.fsf@nikula.org
]
This commit is contained in:
Jani Nikula 2014-10-14 19:32:54 +03:00 committed by David Bremner
parent 76f8498df6
commit 6d44e5ac47
3 changed files with 9 additions and 9 deletions

View file

@ -188,11 +188,6 @@ into the shared-library interface.
Audit all libnotmuch entry points to ensure that all Xapian calls are
wrapped in a try/catch block.
Fix the "count" functionality to be exact as Olly explained in IRC:
ojwb> cworth: if you set the check_at_least parameter to the
database size, get_matches_estimated() will be exact
Fix the threading of a message that has a References: header but no
In-Reply-To: header (see id:"87lixxnxpb.fsf@yoom.home.cworth.org").

View file

@ -909,10 +909,10 @@ void
notmuch_threads_destroy (notmuch_threads_t *threads);
/**
* Return an estimate of the number of messages matching a search.
* Return the number of messages matching a search.
*
* This function performs a search and returns Xapian's best
* guess as to number of matching messages.
* This function performs a search and returns the number of matching
* messages.
*
* If a Xapian exception occurs, this function may return 0 (after
* printing a message).

View file

@ -587,7 +587,12 @@ notmuch_query_count_messages (notmuch_query_t *query)
enquire.set_query (final_query);
mset = enquire.get_mset (0, notmuch->xapian_db->get_doccount ());
/*
* Set the checkatleast parameter to the number of documents
* in the database to make get_matches_estimated() exact.
*/
mset = enquire.get_mset (0, notmuch->xapian_db->get_doccount (),
notmuch->xapian_db->get_doccount ());
count = mset.get_matches_estimated();