* [PATCH] lib: optimize counting documents
@ 2017-01-12 2:01 David Bremner
2017-01-18 17:19 ` Jani Nikula
2017-01-28 2:30 ` David Bremner
0 siblings, 2 replies; 3+ messages in thread
From: David Bremner @ 2017-01-12 2:01 UTC (permalink / raw)
To: notmuch
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] lib: optimize counting documents
2017-01-12 2:01 [PATCH] lib: optimize counting documents David Bremner
@ 2017-01-18 17:19 ` Jani Nikula
2017-01-28 2:30 ` David Bremner
1 sibling, 0 replies; 3+ messages in thread
From: Jani Nikula @ 2017-01-18 17:19 UTC (permalink / raw)
To: David Bremner, notmuch
On Wed, 11 Jan 2017, David Bremner <david@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@notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] lib: optimize counting documents
2017-01-12 2:01 [PATCH] lib: optimize counting documents David Bremner
2017-01-18 17:19 ` Jani Nikula
@ 2017-01-28 2:30 ` David Bremner
1 sibling, 0 replies; 3+ messages in thread
From: David Bremner @ 2017-01-28 2:30 UTC (permalink / raw)
To: notmuch
David Bremner <david@tethera.net> writes:
> 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
pushed to master,
d
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-28 2:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-12 2:01 [PATCH] lib: optimize counting documents David Bremner
2017-01-18 17:19 ` Jani Nikula
2017-01-28 2:30 ` David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).