lib: make folder: prefix literal
authorJani Nikula <jani@nikula.org>
Sat, 8 Feb 2014 19:20:42 +0000 (21:20 +0200)
committerDavid Bremner <david@tethera.net>
Tue, 11 Mar 2014 22:51:22 +0000 (19:51 -0300)
commit1fa8e40561aafb0ac4f51e0aba171a702b66fd86
tree4b645051166f5f184a825b36bffe244629cdfaf7
parent2a865351dd44fea69a580978baf325353b13d4cb
lib: make folder: prefix literal

In xapian terms, convert folder: prefix from probabilistic to boolean
prefix, matching the paths, relative from the maildir root, of the
message files, ignoring the maildir new and cur leaf directories.

folder:foo matches all message files in foo, foo/new, and foo/cur.

folder:foo/new does *not* match message files in foo/new.

folder:"" matches all message files in the top level maildir and its
new and cur subdirectories.

This change constitutes a database change: bump the database version
and add database upgrade support for folder: terms. The upgrade also
adds path: terms.

Finally, fix the folder search test for literal folder: search, as
some of the folder: matching capabilities are lost in the
probabilistic to boolean prefix change.
lib/database.cc
lib/message.cc
lib/notmuch-private.h
test/T100-search-by-folder.sh