<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/message.cc, branch 0.7</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.7</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.7'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2011-06-29T21:13:16Z</updated>
<entry>
<title>Fix folder: coherence issue</title>
<updated>2011-06-29T21:13:16Z</updated>
<author>
<name>Mark Anderson</name>
<email>ma.skies@gmail.com</email>
</author>
<published>2011-06-29T20:04:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8a856e5c38b79359e4fbf9e27f58b1fe00c1e18a'/>
<id>urn:sha1:8a856e5c38b79359e4fbf9e27f58b1fe00c1e18a</id>
<content type='text'>
Add removal of all ZXFOLDER terms to removal of all XFOLDER terms for
each message filename removal.

The existing filename-list reindexing will put all the needed terms
back in.  Test search-folder-coherence now passes.

Signed-off-by:Mark Anderson &lt;ma.skies@gmail.com&gt;
</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>Mark some structures in the library interface with visibility=default attribute.</title>
<updated>2011-05-11T20:27:15Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-05-11T20:23:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d5523ead90b6be2b07d4af745b8ed9b980a6b9f1'/>
<id>urn:sha1:d5523ead90b6be2b07d4af745b8ed9b980a6b9f1</id>
<content type='text'>
As of gcc 4.6, there are new warnings from -Wattributes along the lines of:

	warning: ‘_notmuch_messages’ declared with greater visibility
	than the type of its field ‘_notmuch_messages::iterator’
	[-Wattributes]

To squelch these, we decorate all such containing structs with
__attribute__((visibility("default"))). We take care to let only the
C++ compiler see this, (since the C compiler would otherwise warn
about ignored visibility attributes on types).
</content>
</entry>
<entry>
<title>Remove some variables which were set but not used.</title>
<updated>2011-05-11T20:27:14Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-05-11T19:34:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2f3a76c569e5efad54520613315c0d29512ce69c'/>
<id>urn:sha1:2f3a76c569e5efad54520613315c0d29512ce69c</id>
<content type='text'>
gcc (at least as of version 4.6.0) is kind enough to point these out to us,
(when given -Wunused-but-set-variable explicitly or implicitly via -Wunused
or -Wall).

One of these cases was a legitimately unused variable. Two were simply
variables (named ignored) we were assigning only to squelch a warning about
unused function return values. I don't seem to be getting those warnings
even without setting the ignored variable. And the gcc docs. say that the
correct way to squelch that warning is with a cast to (void) anyway.
</content>
</entry>
<entry>
<title>Add the tag list to the unified message metadata pass.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-12-09T06:54:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d19c5de17a606e08860a5de951c780038dec2f89'/>
<id>urn:sha1:d19c5de17a606e08860a5de951c780038dec2f89</id>
<content type='text'>
Now each caller of notmuch_message_get_tags only gets a new iterator,
instead of a whole new list.  In principle this could cause problems
with iterating while modifying tags, but through the magic of talloc
references, we keep the old tag list alive even after the cache in the
message object is invalidated.

This reduces my index search from the 3.102 seconds before the unified
metadata pass to 1.811 seconds (1.7X faster).  Combined with the
thread search optimization in b3caef1f0659dac8183441357c8fee500a940889,
that makes this query 2.5X faster than when I started.
</content>
</entry>
<entry>
<title>Add the file name list to the unified message metadata pass.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-12-09T03:19:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f271071330fed2947abfa7e9956a85a978924548'/>
<id>urn:sha1:f271071330fed2947abfa7e9956a85a978924548</id>
<content type='text'>
Even if the caller never uses the file names, there is little cost to
simply fetching the file name terms.  However, retrieving the full
paths requires additional database work, so the expansion from terms
to full paths is performed lazily.

This also simplifies clearing the filename cache, since that's now
handled by the generic metadata cache code.

This further reduces my inbox search from 3.102 seconds before the
unified metadata pass to 2.206 seconds (1.4X faster).
</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>Use a single unified pass to fetch scalar message metadata.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-11-27T04:34:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d9b0ae918fd9d535e819b8859eca579002146661'/>
<id>urn:sha1:d9b0ae918fd9d535e819b8859eca579002146661</id>
<content type='text'>
This performs a single pass over a message's term list to fetch the
thread ID, message ID, and reply-to, rather than requiring a pass for
each.  Xapian decompresses the term list anew for each iteration, so
this reduces the amount of time spent decompressing message metadata.

This reduces my inbox search from 3.102 seconds to 2.555 seconds (1.2X
faster).
</content>
</entry>
<entry>
<title>lib: Save and restore term position in message while indexing.</title>
<updated>2011-01-26T05:59:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-01-26T05:53:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=db70f3f0c4132b6113a68604dc8439360dc9b9b8'/>
<id>urn:sha1:db70f3f0c4132b6113a68604dc8439360dc9b9b8</id>
<content type='text'>
This fixes the recently addead search-position-overlap bug as
demonstrated in the test of the same name.
</content>
</entry>
</feed>
