<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib, branch 0.9</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.9</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.9'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2011-10-04T16:47:04Z</updated>
<entry>
<title>lib: bump SONAME</title>
<updated>2011-10-04T16:47:04Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2011-10-04T16:47:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9e976fc60c40e07cb62a7d656e86ee3101c1b2f5'/>
<id>urn:sha1:9e976fc60c40e07cb62a7d656e86ee3101c1b2f5</id>
<content type='text'>
Based on discussions with amdragon, tschwinge, and others on IRC, I concluded that

1) symbol versioning was probably overkill for libnotmuch
2) It was also probably GNU ld specific
3) Most importantly, nobody could tell me on short notice how exactly it works.

So since the change to the notmuch_database_find_message breaks the
previous ABI, we need to bump the SONAME.
</content>
</entry>
<entry>
<title>lib: make find_message{,by_filename) report errors</title>
<updated>2011-10-04T04:55:29Z</updated>
<author>
<name>Ali Polatel</name>
<email>alip@exherbo.org</email>
</author>
<published>2011-10-04T04:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=02a30767116ad8abcbd0a3351f2e4d43bbbd655f'/>
<id>urn:sha1:02a30767116ad8abcbd0a3351f2e4d43bbbd655f</id>
<content type='text'>
Previously, the functions notmuch_database_find_message() and
notmuch_database_find_message_by_filename() functions did not properly
report error condition to the library user.

For more information, read the thread on the notmuch mailing list
starting with my mail "id:871uv2unfd.fsf@gmail.com"

Make these functions accept a pointer to 'notmuch_message_t' as argument
and return notmuch_status_t which may be used to check for any error
condition.

restore: Modify for the new notmuch_database_find_message()
new: Modify for the new notmuch_database_find_message_by_filename()
</content>
</entry>
<entry>
<title>lib: destroy message object after message removal</title>
<updated>2011-10-04T04:39:57Z</updated>
<author>
<name>Ali Polatel</name>
<email>alip@exherbo.org</email>
</author>
<published>2011-10-03T20:27:32Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9b3f16ce715d2371224955bc5b6f948eaa4ee325'/>
<id>urn:sha1:9b3f16ce715d2371224955bc5b6f948eaa4ee325</id>
<content type='text'>
notmuch_database_remove_message() must call notmuch_message_destroy()
once it is done handling message removal.
</content>
</entry>
<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>
</feed>
