<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database.cc, branch 0.29_rc1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.29_rc1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.29_rc1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2019-05-25T10:21:13Z</updated>
<entry>
<title>lib/database: index user headers.</title>
<updated>2019-05-25T10:21:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-02-26T02:10:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=adb53b073791f710b93a8fc755b6b7b606bf7fd1'/>
<id>urn:sha1:adb53b073791f710b93a8fc755b6b7b606bf7fd1</id>
<content type='text'>
This essentially involves calling _notmuch_message_gen_terms once for
each user defined header.
</content>
</entry>
<entry>
<title>lib: support user prefix names in term generation</title>
<updated>2019-05-25T10:17:27Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-02-26T01:57:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=75bdce79527571c12c5de0c630747d6262b73fbd'/>
<id>urn:sha1:75bdce79527571c12c5de0c630747d6262b73fbd</id>
<content type='text'>
This should not change the indexing process yet as nothing calls
_notmuch_message_gen_terms with a user prefix name. On the other hand,
it should not break anything either.

_notmuch_database_prefix does a linear walk of the list of (built-in)
prefixes, followed by a logarithmic time search of the list of user
prefixes. The latter is probably not really noticable.
</content>
</entry>
<entry>
<title>lib: cache user prefixes in database object</title>
<updated>2019-05-25T10:08:20Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2018-11-17T14:09:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b52cda90f0b05ce5055fb840e6d9dd88c09f1f83'/>
<id>urn:sha1:b52cda90f0b05ce5055fb840e6d9dd88c09f1f83</id>
<content type='text'>
This will be used to avoid needing a database access to resolve a db
prefix from the corresponding UI prefix (e.g. when indexing). Arguably
the setup of the separate header map does not belong here, since it is
about indexing rather than querying, but we currently don't have any
other indexing setup to do.
</content>
</entry>
<entry>
<title>lib: setup user headers in query parser</title>
<updated>2019-05-25T09:56:16Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2018-11-17T14:08:59Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=575493e78534f8fd241d663b8690a22d6885e0b1'/>
<id>urn:sha1:575493e78534f8fd241d663b8690a22d6885e0b1</id>
<content type='text'>
These tests will need to be updated if the Xapian
query print/debug format changes.
</content>
</entry>
<entry>
<title>gmime-cleanup: drop unused gmime #defines and simplify g_mime_init ()</title>
<updated>2019-05-03T09:56:58Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2019-05-02T13:19:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=58ee5d1bb5492925c6025177d149d69d72704caa'/>
<id>urn:sha1:58ee5d1bb5492925c6025177d149d69d72704caa</id>
<content type='text'>
Several of these #defines were not actually used in the notmuch
codebase any longer.  And as of GMime 3.0, g_mime_init takes no
arguments, so we can also drop the bogus RFC2047 argument that we were
passing and then #defining away.

signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>lib: add 'body:' field, stop indexing headers twice.</title>
<updated>2019-04-17T11:48:16Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-03-19T00:39:21Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=319dd95ebbd841320e269d34e67a824876f8426a'/>
<id>urn:sha1:319dd95ebbd841320e269d34e67a824876f8426a</id>
<content type='text'>
The new `body:` field (in Xapian terms) or prefix (in slightly
sloppier notmuch) terms allows matching terms that occur only in the
body.

Unprefixed query terms should continue to match anywhere (header or
body) in the message.

This follows a suggestion of Olly Betts to use the facility (since
Xapian 1.0.4) to add the same field with multiple prefixes. The double
indexing of previous versions is thus replaced with a query time
expension of unprefixed query terms to the various prefixed
equivalent.

Reindexing will be needed for 'body:' searches to work correctly;
otherwise they will also match messages where the term occur in
headers (demonstrated by the new tests in T530-upgrade.sh)
</content>
</entry>
<entry>
<title>lib: update commentary about path/folder terms</title>
<updated>2019-03-31T15:00:30Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-03-13T00:47:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b22386f353fb30a0d6ccffb32b7339d69f12b85f'/>
<id>urn:sha1:b22386f353fb30a0d6ccffb32b7339d69f12b85f</id>
<content type='text'>
We missed this when we changed to binary fields.
</content>
</entry>
<entry>
<title>lib: add clarification about the use of "prefix" in the docs.</title>
<updated>2019-03-31T14:59:59Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-03-13T00:47:10Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6b0cf9b21a8fe8b9a3cd9479e46835bb0eef024b'/>
<id>urn:sha1:6b0cf9b21a8fe8b9a3cd9479e46835bb0eef024b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib: drop comment about only indexing one file.</title>
<updated>2019-03-31T14:59:46Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-03-13T00:47:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2717ff96a70a252a9ca7afea92a07d12f2139742'/>
<id>urn:sha1:2717ff96a70a252a9ca7afea92a07d12f2139742</id>
<content type='text'>
Although the situation is complicated by the value fields (which are
taken from a single file), this comment is now more false than true.
</content>
</entry>
<entry>
<title>lib: add thread subqueries.</title>
<updated>2018-05-07T11:42:53Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-12-26T01:03:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5ad39ebf75eb85263e4b64f21e07ec02194f9573'/>
<id>urn:sha1:5ad39ebf75eb85263e4b64f21e07ec02194f9573</id>
<content type='text'>
This change allows queries of the form

 thread:{from:me} and thread:{from:jian} and not thread:{from:dave}

This is still somewhat brute-force, but it's a big improvement over
both the shell script solution and the previous proposal [1], because it
does not build the whole thread structure just generate a
query. A further potential optimization is to replace the calls to
notmuch with more specialized Xapian code; in particular it's not
likely that reading all of the message metadata is a win here.

[1]: id:20170820213240.20526-1-david@tethera.net
</content>
</entry>
</feed>
