<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database.cc, branch debian/0.27_rc0-1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.27_rc0-1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.27_rc0-1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2018-05-07T11:42:53Z</updated>
<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>
<entry>
<title>Revert "lib: add thread subqueries."</title>
<updated>2017-12-28T14:05:55Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-12-28T14:05:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b09025bce2b795f3d49b92cb3dac437b92831321'/>
<id>urn:sha1:b09025bce2b795f3d49b92cb3dac437b92831321</id>
<content type='text'>
This reverts commit 4f5bbaf7e2cecfe5022ba4b28915cccfb7ccb12d.
</content>
</entry>
<entry>
<title>lib: add thread subqueries.</title>
<updated>2017-12-26T00:40:28Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-08-20T21:32:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4f5bbaf7e2cecfe5022ba4b28915cccfb7ccb12d'/>
<id>urn:sha1:4f5bbaf7e2cecfe5022ba4b28915cccfb7ccb12d</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>
<entry>
<title>crypto: make shared crypto code behave library-like</title>
<updated>2017-10-20T10:58:20Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-17T19:09:56Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a18bbf7f155369f251b0513788eade23be3555d5'/>
<id>urn:sha1:a18bbf7f155369f251b0513788eade23be3555d5</id>
<content type='text'>
If we're going to reuse the crypto code across both the library and
the client, then it needs to report error states properly and not
write to stderr.
</content>
</entry>
<entry>
<title>lib: convert notmuch_bool_t to stdbool internally</title>
<updated>2017-10-10T01:27:16Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-10-07T08:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=008a5e92eb157e2bb8622cb2fbf644deba5ba4b4'/>
<id>urn:sha1:008a5e92eb157e2bb8622cb2fbf644deba5ba4b4</id>
<content type='text'>
C99 stdbool turned 18 this year. There really is no reason to use our
own, except in the library interface for backward
compatibility. Convert the lib internally to stdbool.
</content>
</entry>
<entry>
<title>database: move striping of trailing '/' into helper function</title>
<updated>2017-08-22T21:47:51Z</updated>
<author>
<name>Yuri Volchkov</name>
<email>yuri.volchkov@gmail.com</email>
</author>
<published>2017-08-21T15:44:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cec4a87539599e7d253b694c2a0a81de86d6eb7e'/>
<id>urn:sha1:cec4a87539599e7d253b694c2a0a81de86d6eb7e</id>
<content type='text'>
Stripping trailing character is not that uncommon
operation. Particularly, the next patch has to perform it as
well. Lets move it to the separate function to avoid code duplication.

Also the new function has a little improvement: if the character to
strip is repeated several times in the end of a string, function
strips them all.

Signed-off-by: Yuri Volchkov &lt;yuri.volchkov@gmail.com&gt;
</content>
</entry>
<entry>
<title>lib: isolate n_d_add_message and helper functions into own file</title>
<updated>2017-08-02T01:17:47Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-06-04T12:32:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4034a7cec75b785c9f935186a4daad7c325df56c'/>
<id>urn:sha1:4034a7cec75b785c9f935186a4daad7c325df56c</id>
<content type='text'>
'database.cc' is becoming a monster, and it's hard to follow what the
various static functions are used for. It turns out that about 1/3 of
this file notmuch_database_add_message and helper functions not used
by any other function. This commit isolates this code into it's own
file.

Some side effects of this refactoring:

- find_doc_ids becomes the non-static (but still private)
  _notmuch_database_find_doc_ids
- a few instances of 'string' have 'std::' prepended, avoiding the
  need for 'using namespace std;' in the new file.
</content>
</entry>
<entry>
<title>lib: Add regexp expansion for for tags and paths</title>
<updated>2017-05-09T10:44:29Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-03-08T02:32:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=11d47950c18f2d19718e35b7264dabf2ff2fd621'/>
<id>urn:sha1:11d47950c18f2d19718e35b7264dabf2ff2fd621</id>
<content type='text'>
From a UI perspective this looks similar to what was already provided
for from, subject, and mid, but the implementation is quite
different. It uses the database's list of terms to construct a term
based query equivalent to the passed regular expression.
</content>
</entry>
<entry>
<title>lib: Add regexp searching for mid: prefix</title>
<updated>2017-05-09T10:44:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-15T12:58:28Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=eab365c742f86b52729ec2a5acaba1a798f94661'/>
<id>urn:sha1:eab365c742f86b52729ec2a5acaba1a798f94661</id>
<content type='text'>
The bulk of the change is passing in the field options to the regexp
field processor, so that we can properly handle the
fallback (non-regexp case).
</content>
</entry>
<entry>
<title>lib: replace deprecated n_q_count_messages with status returning version</title>
<updated>2017-03-22T11:35:07Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-26T21:21:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5ce8e0b11b40f733e6231d2067764e76717a341a'/>
<id>urn:sha1:5ce8e0b11b40f733e6231d2067764e76717a341a</id>
<content type='text'>
This function was deprecated in notmuch 0.21.  We re-use the name for
a status returning version, and deprecate the _st name. One or two
remaining uses of the (removed) non-status returning version fixed at
the same time
</content>
</entry>
</feed>
