<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database-private.h, branch 0.34.2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.34.2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.34.2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2021-12-04T00:50:03Z</updated>
<entry>
<title>lib/open: track which parameters are passed</title>
<updated>2021-12-04T00:50:03Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-28T01:34:18Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d467444085d96229172ce29ef8654c3c459b6ce2'/>
<id>urn:sha1:d467444085d96229172ce29ef8654c3c459b6ce2</id>
<content type='text'>
This will be used to fine tune the loading of configuration for
certain special configuration items (initially just "database.path").
</content>
</entry>
<entry>
<title>lib: factor out expansion of saved 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:36Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=036734252d07d8568937073d4f2d366bcb06bc4e'/>
<id>urn:sha1:036734252d07d8568937073d4f2d366bcb06bc4e</id>
<content type='text'>
This is intended to allow use outside of the Xapian query parser.
</content>
</entry>
<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: factor out query construction from regexp</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:28Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5cb452c325e1f69e43dca610f48b9396cba9c039'/>
<id>urn:sha1:5cb452c325e1f69e43dca610f48b9396cba9c039</id>
<content type='text'>
This will allow re-use of this code outside of the Xapian query parser.
</content>
</entry>
<entry>
<title>lib: leave stemmer object accessible</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:17Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3202e0d1feba1ab955ba1c07098c00208f8f0ada'/>
<id>urn:sha1:3202e0d1feba1ab955ba1c07098c00208f8f0ada</id>
<content type='text'>
This enables using the same stemmer in both query parsers.
</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: autocommit after some number of completed transactions</title>
<updated>2021-06-27T17:03:00Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-18T02:06:01Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e2a3e5fa51122efb0f5ac836e536881d97deef1a'/>
<id>urn:sha1:e2a3e5fa51122efb0f5ac836e536881d97deef1a</id>
<content type='text'>
This change addresses two known issues with large sets of changes to
the database.  The first is that as reported by Steven Allen [1],
notmuch commits are not "flushed" when they complete, which means that
if there is an open transaction when the database closes (or e.g. the
program crashes) then all changes since the last commit will be
discarded (nothing is irrecoverably lost for "notmuch new", as the
indexing process just restarts next time it is run).  This does not
really "fix" the issue reported in [1]; that seems rather difficult
given how transactions work in Xapian. On the other hand, with the
default settings, this should mean one only loses less than a minutes
worth of work.  The second issue is the occasionally reported "storm"
of disk writes when notmuch finishes. I don't yet have a test for
this, but I think committing as we go should reduce the amount of work
when finalizing the database.

[1]: id:20151025210215.GA3754@stebalien.com
</content>
</entry>
<entry>
<title>lib/generate_thread_id: move static buffer to notmuch_database_t</title>
<updated>2021-05-14T09:38:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-11T11:08:32Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=929386fad90eed7dad8b32f457020c57a786d288'/>
<id>urn:sha1:929386fad90eed7dad8b32f457020c57a786d288</id>
<content type='text'>
Work towards the goal of concurrent access to different Xapian
databases from the same process.
</content>
</entry>
<entry>
<title>lib: provide notmuch_config_path</title>
<updated>2021-03-27T12:26:14Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-21T11:34:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f5d4349921ded021756d6754d347420e68b23111'/>
<id>urn:sha1:f5d4349921ded021756d6754d347420e68b23111</id>
<content type='text'>
Since the library searches in several locations for a config file, the
caller does not know which of these is chosen in the usual case of
passing NULL as a config file. This changes provides an API for the
caller to retrieve the name of the config file chosen. It will be
tested in a following commit.
</content>
</entry>
</feed>
