<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib, branch 0.9_rc1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.9_rc1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.9_rc1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2011-09-24T23:26:42Z</updated>
<entry>
<title>lib: bump library minor version because of new symbols.</title>
<updated>2011-09-24T23:26:42Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2011-09-24T19:13:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0ce713ae02a2f2fc326d9c04bf9bf95123f228c0'/>
<id>urn:sha1:0ce713ae02a2f2fc326d9c04bf9bf95123f228c0</id>
<content type='text'>
This bump is because of the new symbols introduced by the atomicity
patches.
</content>
</entry>
<entry>
<title>lib: Improve notmuch_database_{add,remove}_message documentation.</title>
<updated>2011-09-24T23:00:29Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-11T19:34:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=35f4a0f18b2484e835e8b647f3d2c2782efcc406'/>
<id>urn:sha1:35f4a0f18b2484e835e8b647f3d2c2782efcc406</id>
<content type='text'>
State up front that these functions may add a filename to an existing
message or remove only a filename (and not the message), respectively.
Previously, this key information was buried in return value
documentation or in "notes", which made it seem secondary to these
functions' semantics.
</content>
</entry>
<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: Indicate if there are more filenames after removal.</title>
<updated>2011-09-24T01:50:39Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-02-06T09:17:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e4379c43e21ff69dcdb66064fe3de83ae0642fc0'/>
<id>urn:sha1:e4379c43e21ff69dcdb66064fe3de83ae0642fc0</id>
<content type='text'>
Make _notmuch_message_remove_filename return
NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID if the message has more filenames
and fix callers to handle this.
</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>lib: Add missing status check in _notmuch_message_remove_filename.</title>
<updated>2011-09-13T02:36:00Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2011-06-10T19:58:18Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=62445dd0231c4f9e49f0be293e9f539d63bfdc99'/>
<id>urn:sha1:62445dd0231c4f9e49f0be293e9f539d63bfdc99</id>
<content type='text'>
Previously, this function would synchronize the folder list even if
removing the file name failed.  Now it returns immediately if removing
the file name fails.
</content>
</entry>
<entry>
<title>lib/gen-version-script.h: add getline and getdelim to notmuch.sym if needed</title>
<updated>2011-09-05T10:44:14Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2011-09-05T03:19:32Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9db21452721356be5169254cd7e8c0ec5b25066b'/>
<id>urn:sha1:9db21452721356be5169254cd7e8c0ec5b25066b</id>
<content type='text'>
If the configure script detects missing getline and/or getdelim
symbols, then notmuch will use it's own versions. This patch, based on
id:"87k49v12i5.fsf@pc44es141.cs.uni-magdeburg.de" by Matthias
Guedemann, adds the symbols to notmuch.sym as well so they are
properly exported from the library.
</content>
</entry>
</feed>
