<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database.cc, branch debian/0.11.1-1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.11.1-1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.11.1-1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2012-01-02T10:50:07Z</updated>
<entry>
<title>lib: call g_mime_init() from notmuch_database_open()</title>
<updated>2012-01-02T10:50:07Z</updated>
<author>
<name>Kazuo Teramoto</name>
<email>kaz.rag@gmail.com</email>
</author>
<published>2011-12-31T04:37:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f80d4f9f6dc402d264f802241c17e26e7aa72851'/>
<id>urn:sha1:f80d4f9f6dc402d264f802241c17e26e7aa72851</id>
<content type='text'>
As reported in
id:"CAEbOPGyuHnz4BPtDutnTPUHcP3eYcRCRkXhYoJR43RUMw671+g@mail.gmail.com"
sometimes gmime tries to access a NULL pointer, e.g. g_mime_iconv_open()
tries to access iconv_cache that is NULL if g_mime_init() is not called.
This causes notmuch to segfault when calling gmime functions.

Calling g_mime_init() initializes iconv_cache and others variables needed
by gmime, making sure they are initialized when notmuch calls gmime
functions.
</content>
</entry>
<entry>
<title>Fix comments about what is stored in the database</title>
<updated>2011-12-23T19:08:34Z</updated>
<author>
<name>Thomas Jost</name>
<email>schnouki@schnouki.net</email>
</author>
<published>2011-12-13T17:11:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=824dad76b6ae4a7e4a3ca41991af8e7d67f4cfd5'/>
<id>urn:sha1:824dad76b6ae4a7e4a3ca41991af8e7d67f4cfd5</id>
<content type='text'>
Commit 567bcbc2 introduced two new values for each message (content of the
"From" and "Subject" headers), but the comments about the database schema had
not been updated accordingly.
</content>
</entry>
<entry>
<title>notmuch: Quiet buildbot warnings.</title>
<updated>2011-12-21T11:32:16Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2011-12-20T15:20:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=77ec8108a10a8d372bed6298e22c89d7de651577'/>
<id>urn:sha1:77ec8108a10a8d372bed6298e22c89d7de651577</id>
<content type='text'>
Cast away the result of various *write functions. Provide a default
value for some variables to avoid "use before set" warnings.
</content>
</entry>
<entry>
<title>lib: call g_type_init from notmuch_database_open</title>
<updated>2011-12-05T02:00:25Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2011-12-04T19:20:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=69dc421ab3355930f23ec6aa47e7e936cbfafb97'/>
<id>urn:sha1:69dc421ab3355930f23ec6aa47e7e936cbfafb97</id>
<content type='text'>
We want to make sure g_type_init is called before any GObject
functionality is used.
</content>
</entry>
<entry>
<title>Store "from" and "subject" headers in the database.</title>
<updated>2011-11-14T21:10:58Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2011-11-06T17:17:36Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=567bcbc294b3aed632d18eb22056840292bdeb1e'/>
<id>urn:sha1:567bcbc294b3aed632d18eb22056840292bdeb1e</id>
<content type='text'>
This is a rebase and cleanup of Istvan Marko's patch from
id:m3pqnj2j7a.fsf@zsu.kismala.com

Search retrieves these headers for every message in the search
results.  Previously, this required opening and parsing every message
file.  Storing them directly in the database significantly reduces IO
and computation, speeding up search by between 50% and 10X.

Taking full advantage of this requires a database rebuild, but it will
fall back to the old behavior for messages that do not have headers
stored in the database.
</content>
</entry>
<entry>
<title>lib/database.cc: use flush Xapian method instead of commit</title>
<updated>2011-11-02T23:38:22Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2011-10-28T14:56:30Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=606e4461f803829077af4e3b2579583f7e39bc3e'/>
<id>urn:sha1:606e4461f803829077af4e3b2579583f7e39bc3e</id>
<content type='text'>
Apparently the method was renamed in Xapian 1.1.0 but the old method
name will stay around for a while. It seems better to stick with the
old name to make notmuch compile with older versions of Xapian, at
least for now.
</content>
</entry>
<entry>
<title>xutil.c: remove duplicate copies, create new library libutil.a to contain xutil.</title>
<updated>2011-10-31T02:09:49Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2011-10-23T15:05:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1dedfc90f6eee7cad10f1a1ceb39a7a1c4dbd1b1'/>
<id>urn:sha1:1dedfc90f6eee7cad10f1a1ceb39a7a1c4dbd1b1</id>
<content type='text'>
We keep the lib/xutil.c version. As a consequence, also factor out
_internal_error and associated macros.  It might be overkill to make a
new file error_util.c for this, but _internal_error does not really
belong in database.cc.
</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: 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>
</feed>
