<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/query.cc, branch 0.34.1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.34.1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.34.1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2021-09-05T00:07:19Z</updated>
<entry>
<title>lib/thread-fp: factor out query expansion, rewrite in Xapian</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:32Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4083fd8bec7a34cf9c6a722b7dd511e0d31712f6'/>
<id>urn:sha1:4083fd8bec7a34cf9c6a722b7dd511e0d31712f6</id>
<content type='text'>
It will be convenient not to have to construct a notmuch query object
when parsing subqueries, so the commit rewrites the query
expansion (currently only used for thread:{} queries) using only
Xapian. As a bonus it seems about 15% faster in initial experiments.
</content>
</entry>
<entry>
<title>lib/query: factor out _notmuch_query_string_to_xapian_query</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b3bbaf1bc27d79b8191d296998f695be5be3146a'/>
<id>urn:sha1:b3bbaf1bc27d79b8191d296998f695be5be3146a</id>
<content type='text'>
When dealing with recursive queries (i.e. thread:{foo}) it turns out
to be useful just to deal with the underlying Xapian objects, and not
wrap them in notmuch objects.
</content>
</entry>
<entry>
<title>lib: generate actual Xapian query for "*" and ""</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:30Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c62f3f77a7eeda57cff8c5c66e86d39ae3c38aad'/>
<id>urn:sha1:c62f3f77a7eeda57cff8c5c66e86d39ae3c38aad</id>
<content type='text'>
The previous code had the somewhat bizarre effect that the (notmuch
specific) query string was "*" (interpreted as MatchAll) and the
allegedly parsed xapian_query was "MatchNothing".

This commit also reduces code duplication.
</content>
</entry>
<entry>
<title>lib/query: generalize exclude handling to s-expression queries</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:27Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0b98ad5e4ef6b0345f28143243de1170c5c3df54'/>
<id>urn:sha1:0b98ad5e4ef6b0345f28143243de1170c5c3df54</id>
<content type='text'>
In fact most of the code path is in common, only the caching of terms
in the query needs to be added for s-expression queries.
</content>
</entry>
<entry>
<title>lib/parse-sexp: parse single terms and the empty list.</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=be7e83de96b706af418fc9f139ded4d50bf342f6'/>
<id>urn:sha1:be7e83de96b706af418fc9f139ded4d50bf342f6</id>
<content type='text'>
There is not much of a parser here yet, but it already does some
useful error reporting. Most functionality sketched in the
documentation is not implemented yet; detailed documentation will
follow with the implementation.
</content>
</entry>
<entry>
<title>lib: define notmuch_query_create_with_syntax</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c4f2f33a50643b41e6dbf0519c563ae7db48beab'/>
<id>urn:sha1:c4f2f33a50643b41e6dbf0519c563ae7db48beab</id>
<content type='text'>
Set the parsing syntax when the (notmuch) query object is
created. Initially the library always returns a trivial query that
matches all messages when using s-expression syntax.

It seems better to select the syntax at query creation time because
the lazy parsing is an implementation detail.
</content>
</entry>
<entry>
<title>lib: split notmuch_query_create</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:12Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=34733fa25ed3ad8bd48621d66b7877af3426f544'/>
<id>urn:sha1:34733fa25ed3ad8bd48621d66b7877af3426f544</id>
<content type='text'>
Most of the function will be re-usable when creating a query from an
s-expression.
</content>
</entry>
<entry>
<title>lib: run uncrustify</title>
<updated>2019-06-14T10:41:27Z</updated>
<author>
<name>uncrustify</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-13T10:55:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2b62ca2e3b786beca8d89fa737bda0b49faa638d'/>
<id>urn:sha1:2b62ca2e3b786beca8d89fa737bda0b49faa638d</id>
<content type='text'>
This is the result of running

     $ uncrustify --replace --config ../devel/uncrustify.cfg *.c *.h *.cc

in the lib directory
</content>
</entry>
<entry>
<title>lib: work around xapian bug with get_mset(0,0, x)</title>
<updated>2018-04-27T01:14:59Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2018-04-06T11:43:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=64831e8016fcc9877c0dc8e855ec24583cac34ef'/>
<id>urn:sha1:64831e8016fcc9877c0dc8e855ec24583cac34ef</id>
<content type='text'>
At least Fedora28 triggers this Xapian bug due to some toolchain change .

   https://bugzilla.redhat.com/show_bug.cgi?id=1546162

The underlying bug is fixed in xapian commit f92e2a936c1592, and
should be fixed in Xapian 1.4.6
</content>
</entry>
<entry>
<title>lib: convert notmuch_bool_t to stdbool internally</title>
<updated>2017-10-10T01:27:16Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-10-07T08:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=008a5e92eb157e2bb8622cb2fbf644deba5ba4b4'/>
<id>urn:sha1:008a5e92eb157e2bb8622cb2fbf644deba5ba4b4</id>
<content type='text'>
C99 stdbool turned 18 this year. There really is no reason to use our
own, except in the library interface for backward
compatibility. Convert the lib internally to stdbool.
</content>
</entry>
</feed>
