<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database.cc, branch debian/0.34-1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.34-1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.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: add new status code for query syntax errors.</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:15Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9ae4188610dc21101fe9bdeb158854fc7c63463e'/>
<id>urn:sha1:9ae4188610dc21101fe9bdeb158854fc7c63463e</id>
<content type='text'>
This will help provide more meaningful error messages without special
casing on the client side.
</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>database/close: remove misleading code / comment</title>
<updated>2021-06-27T16:58:17Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-18T11:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=65f923219e08193d590bec35e2c3995dc6a19395'/>
<id>urn:sha1:65f923219e08193d590bec35e2c3995dc6a19395</id>
<content type='text'>
Unfortunately, it doesn't make a difference if we call
cancel_transaction or not, all uncommited changes are discarded if
there is an open (unflushed) transaction.
</content>
</entry>
<entry>
<title>lib/database: fix style mistake.</title>
<updated>2021-06-27T16:52:43Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-06-27T16:52:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=49893c2c617e0d6874bb9670faa83ddf2324d721'/>
<id>urn:sha1:49893c2c617e0d6874bb9670faa83ddf2324d721</id>
<content type='text'>
The spacing of the declaration was wrong in ea30110.
</content>
</entry>
<entry>
<title>lib: write talloc report in notmuch_database_destroy</title>
<updated>2021-06-25T12:20:37Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-06-19T00:59:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ea301102abc55404b8b447cd50998429bfbbf9fd'/>
<id>urn:sha1:ea301102abc55404b8b447cd50998429bfbbf9fd</id>
<content type='text'>
Since most memory allocation is (ultimately) in the talloc context
defined by a notmuch_database_t pointer, this gives a more complete
view of memory still allocated at program shutdown.

We also change the talloc report in notmuch.c to mode "a" to avoid
clobbering the newly reported log.
</content>
</entry>
<entry>
<title>lib: add NOTMUCH_STATUS_NO_DATABASE</title>
<updated>2021-03-27T12:26:14Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-23T19:56:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2e39ce6eb5d5e5ae2a2a4ed419190003f47e566e'/>
<id>urn:sha1:2e39ce6eb5d5e5ae2a2a4ed419190003f47e566e</id>
<content type='text'>
This will allow more precise return values from various open related functions.
</content>
</entry>
<entry>
<title>lib: add missing status strings</title>
<updated>2021-03-27T12:26:14Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-14T17:42:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a6a580e61613507edc47e0eac0b2b84f6678d01c'/>
<id>urn:sha1:a6a580e61613507edc47e0eac0b2b84f6678d01c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/compact: enable split config</title>
<updated>2021-03-20T10:50:06Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-02T11:51:23Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b30a59157d5ba0421c01fa3dc05d238d18738839'/>
<id>urn:sha1:b30a59157d5ba0421c01fa3dc05d238d18738839</id>
<content type='text'>
This promotes _choose_xapian_path from static to extern linkage in
order to share between open.cc and database.cc.
</content>
</entry>
<entry>
<title>lib: support splitting mail from database location.</title>
<updated>2021-03-20T10:39:12Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-12-31T22:20:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e823d05ae6dc920d4fc9abf774c3d2575d891d7b'/>
<id>urn:sha1:e823d05ae6dc920d4fc9abf774c3d2575d891d7b</id>
<content type='text'>
Introduce a new configuration value for the mail root, and use it to
locate mail messages in preference to the database.path (which
previously implied the mail messages were also in this location.

Initially only a subset of the CLI is tested in a split
configuration. Further changes will be needed for the remainder of the
CLI to work in split configurations.
</content>
</entry>
<entry>
<title>lib: remove "path" from notmuch struct</title>
<updated>2021-03-20T10:23:40Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-02T20:43:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6251e2bb9ee023d25b58384c8a49576086fdaba3'/>
<id>urn:sha1:6251e2bb9ee023d25b58384c8a49576086fdaba3</id>
<content type='text'>
This removes duplication between the struct element and the
configuration string_map entry. Create a simple wrapper for setting
the database path that makes sure the trailing / is stripped.
</content>
</entry>
</feed>
