<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database.cc, branch 0.3</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.3</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.3'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2010-04-24T14:27:50Z</updated>
<entry>
<title>lib: Audit all notmuch_database call for Xapian exception handling.</title>
<updated>2010-04-24T14:27:50Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-24T14:22:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9ef68f1444de981c47af06c948e3aa3ca5a377c8'/>
<id>urn:sha1:9ef68f1444de981c47af06c948e3aa3ca5a377c8</id>
<content type='text'>
Our current approach is for top-level entry poitns in the library
to have try/catch blocks that catch any Xapian exception and print
a message. Add a few missing blocks and fix up the documentation.
</content>
</entry>
<entry>
<title>lib: Remove condition regarding a NULL parent_thread_id.</title>
<updated>2010-04-12T22:54:03Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-12T22:54:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=14073b8851067db4dbf5727bf1f5547a66750934'/>
<id>urn:sha1:14073b8851067db4dbf5727bf1f5547a66750934</id>
<content type='text'>
A recent change guaranteed that a message ID can never be resolved
to a NULL thread ID, so we don't need this extra case.
</content>
</entry>
<entry>
<title>lib: Always add reference terms to the database.</title>
<updated>2010-04-12T22:45:40Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-12T22:45:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=071022c253a6c2fbf445478619d1a32d945be438'/>
<id>urn:sha1:071022c253a6c2fbf445478619d1a32d945be438</id>
<content type='text'>
Previously, we were only adding the reference terms for cases where
the referenced message did not yet exist in the database. For thread
presentation, it's useful to have the connection information provided
by the references, even when the messages are present. So add this
term unconditionally.
</content>
</entry>
<entry>
<title>lib: Document the metadata stored within the Xapian database.</title>
<updated>2010-04-12T22:15:14Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-12T22:15:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=328626d0fd17910eec5d8b5b51dda46f4bbd8189'/>
<id>urn:sha1:328626d0fd17910eec5d8b5b51dda46f4bbd8189</id>
<content type='text'>
We are currently storing "version", "last_thread_id", and
"thread_id_*" values so document how each of these are used.
</content>
</entry>
<entry>
<title>lib: Fix line-wrapping in _notmuch_database_link_message.</title>
<updated>2010-04-12T21:41:34Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-12T21:41:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=af49741228ec1582c83e266dbb8d6551f015d610'/>
<id>urn:sha1:af49741228ec1582c83e266dbb8d6551f015d610</id>
<content type='text'>
This function had some excessively long lines due to nested
expressions. It's simple enough to un-nest these and have readable
line lengths.
</content>
</entry>
<entry>
<title>lib: Fix internal documentation of _notmuch_database_link_message</title>
<updated>2010-04-12T21:35:25Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-12T21:35:25Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f8dc5c08e4479c244e0835e87d4b487a436042e0'/>
<id>urn:sha1:f8dc5c08e4479c244e0835e87d4b487a436042e0</id>
<content type='text'>
This function was recently modified, (to include a metadata lookup for
a message's thread ID before looking for parent/child thread IDs), but
the documentation wasn't updated. Fix that.
</content>
</entry>
<entry>
<title>lib: Simplify code flow in _resolve_message_id_to_thread_id</title>
<updated>2010-04-12T21:29:36Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-12T21:29:36Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5c20bdf035b94bf5bda708bdd12e1b7bf44885f7'/>
<id>urn:sha1:5c20bdf035b94bf5bda708bdd12e1b7bf44885f7</id>
<content type='text'>
There are two primary cases in this function, (the message exists in
the database or it does not). Previously the code for these two cases
was split and intermingled with goto-spaghetti connections.
</content>
</entry>
<entry>
<title>lib: Fix internal documentation of _resolve_message_id_to_thread_id</title>
<updated>2010-04-12T21:19:15Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-04-12T21:19:15Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e9bb90ba2c18ac6c36168ccb20099ef395d7dfb6'/>
<id>urn:sha1:e9bb90ba2c18ac6c36168ccb20099ef395d7dfb6</id>
<content type='text'>
We no longer return NULL, but instead generate a new thread ID for
messages that we haven't seen yet.
</content>
</entry>
<entry>
<title>Store thread ids for messages that we haven't seen yet</title>
<updated>2010-04-12T21:11:57Z</updated>
<author>
<name>James Westby</name>
<email>jw+debian@jameswestby.net</email>
</author>
<published>2010-03-13T21:27:57Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=40ea73cf052ad3f055174583d336a13682b074bd'/>
<id>urn:sha1:40ea73cf052ad3f055174583d336a13682b074bd</id>
<content type='text'>
This allows us to thread messages even when we receive them out of
order, or never receive the root.

The thread ids for messages that aren't present but are referred to are
stored as metadata in the database and then retrieved if we ever get
that message.

When determining the thread id for a message we also check for this
metadata so that we can thread descendants of a message together before
we receive it.

Edited by Carl Worth &lt;cworth@cworth.org&gt;: Split this portion of the
commit from the earlier-applied portion adding test cases.
</content>
</entry>
<entry>
<title>Add is:&lt;tag&gt; as a synonym for tag:&lt;tag&gt; in search terms.</title>
<updated>2010-03-10T00:03:58Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-03-10T00:03:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e3046c688be7a28e7dcfbce5fa54074917fd9904'/>
<id>urn:sha1:e3046c688be7a28e7dcfbce5fa54074917fd9904</id>
<content type='text'>
I like the readability of this, it provides compatibility with people
trained in this syntax by sup, and it even saves one character.
</content>
</entry>
</feed>
