<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database.cc, branch debian/0.9_rc1-1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.9_rc1-1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.9_rc1-1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2011-09-24T23:00:28Z</updated>
<entry>
<title>lib: Wrap notmuch_database_add_message in an atomic section.</title>
<updated>2011-09-24T23:00:28Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T04:42:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=51c3c0b2d27c8d0ba8e1ae242fd907c59f82d992'/>
<id>urn:sha1:51c3c0b2d27c8d0ba8e1ae242fd907c59f82d992</id>
<content type='text'>
Adding a message may involve changes to multiple database documents,
and thus needs to be done in a transaction.  This makes add_message
(and, I think, the whole library) atomicity-safe: library callers only
needs to use atomic sections if they needs atomicity across multiple
library calls.
</content>
</entry>
<entry>
<title>lib: Add an API to find a message by filename.</title>
<updated>2011-09-24T23:00:28Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T04:19:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7a8046ced8c0e61ddd0ff463cfc17ed63e6edad3'/>
<id>urn:sha1:7a8046ced8c0e61ddd0ff463cfc17ed63e6edad3</id>
<content type='text'>
notmuch_database_find_message_by_filename is mostly stolen from
notmuch_database_remove_message, so this patch also vastly simplfies
the latter using the former.

This API is also useful in its own right and will be used in a later
patch for eager maildir flag synchronization.
</content>
</entry>
<entry>
<title>lib: Remove message document directly after removing the last file name.</title>
<updated>2011-09-24T01:50:39Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T04:07:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bfe4555325086d5cb99e3962424128f94d1c921d'/>
<id>urn:sha1:bfe4555325086d5cb99e3962424128f94d1c921d</id>
<content type='text'>
Previously, notmuch_database_remove_message would remove the message
file name, sync the change to the message document, re-find the
message document, and then delete it if there were no more file names.
An interruption after sync'ing would result in a file-name-less,
permanently un-removable zombie message that would produce errors and
odd results in searches.  We could wrap this in an atomic section, but
it's much simpler to eliminate the round-about approach and just
delete the message document instead of sync'ing it if we removed the
last filename.
</content>
</entry>
<entry>
<title>lib: Add support for nested atomic sections.</title>
<updated>2011-09-24T01:50:38Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T03:35:06Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e59cc0031fbf84f49e32dedb9927f427d2c49309'/>
<id>urn:sha1:e59cc0031fbf84f49e32dedb9927f427d2c49309</id>
<content type='text'>
notmuch_database_t now keeps a nesting count and we only start a
transaction or commit for the outermost atomic section.

Introduces a new error, NOTMUCH_STATUS_UNBALANCED_ATOMIC.
</content>
</entry>
<entry>
<title>lib: Add notmuch_database_{begin,end}_atomic.</title>
<updated>2011-09-24T01:50:38Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-01-29T16:25:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=957f1ba3fc1d737887029ff1787fc6bea94de00b'/>
<id>urn:sha1:957f1ba3fc1d737887029ff1787fc6bea94de00b</id>
<content type='text'>
These operations translate into non-flushed Xapian transactions,
allowing arbitrary groups of database operations to be performed
atomically.
</content>
</entry>
<entry>
<title>fix sum moar typos [comments in source code]</title>
<updated>2011-06-23T22:58:39Z</updated>
<author>
<name>Pieter Praet</name>
<email>pieter@praet.org</email>
</author>
<published>2011-06-20T20:14:21Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8bb6f7869c4c98190f010d60409938b1c50c5968'/>
<id>urn:sha1:8bb6f7869c4c98190f010d60409938b1c50c5968</id>
<content type='text'>
Various typo fixes in comments within the source code.

Signed-off-by: Pieter Praet &lt;pieter@praet.org&gt;

Edited-by: Carl Worth &lt;cworth@cworth.org&gt; Restricted to just
source-code comments, (and fixed fix of "descriptios" to "descriptors"
rather than "descriptions").
</content>
</entry>
<entry>
<title>Add a generic function to get a list of terms with some prefix.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-12-09T05:32:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=206938ec9b4ddee28793f2f052a5314d6d7ab08d'/>
<id>urn:sha1:206938ec9b4ddee28793f2f052a5314d6d7ab08d</id>
<content type='text'>
Replace _notmuch_convert_tags with this and simplify
_create_filenames_for_terms_with_prefix.  This will also come in handy
shortly to get the message file name list.
</content>
</entry>
<entry>
<title>Implement an internal generic string list and use it.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-12-09T00:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f3c1eebfaf8526129ae6946cbcd44a3c602563d6'/>
<id>urn:sha1:f3c1eebfaf8526129ae6946cbcd44a3c602563d6</id>
<content type='text'>
This replaces the guts of the filename list and tag list, making those
interfaces simple iterators over the generic string list.  The
directory, message filename, and tags-related code now build generic
string lists and then wraps them in specific iterators.  The real wins
come in later patches, when we use these for even more generic
functionality.

As a nice side-effect, this also eliminates the annoying dependency on
GList in the tag list.
</content>
</entry>
<entry>
<title>Add support for folder-based searching.</title>
<updated>2011-01-15T23:37:43Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-01-15T22:09:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=99cfa2703080c2474e6b8aec0cae86135ae23f1d'/>
<id>urn:sha1:99cfa2703080c2474e6b8aec0cae86135ae23f1d</id>
<content type='text'>
A new "folder:" prefix in the query string can now be used to match
the directories in which mail files are stored.

The addition of this feature causes the recently added
search-by-folder tests to now pass.
</content>
</entry>
<entry>
<title>Tighten up a memory allocation.</title>
<updated>2011-01-15T23:37:43Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-01-15T22:01:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8bef9ba9220956beb8ff634c16344fb00689b973'/>
<id>urn:sha1:8bef9ba9220956beb8ff634c16344fb00689b973</id>
<content type='text'>
Using the local talloc context ensures that the memory we are using
here will be freed shortly, (rather than hanging on for a long time
with the notmuch database object).
</content>
</entry>
</feed>
