mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 21:54:10 +01:00
Invent our own prefix values.
We're now dropping all pretense of keeping the database directly compatible with sup's current xapian backend. (But perhaps someone might write a new nothmuch backend for sup in the future.) In coming up with the prefix values here, I tried to follow the conventions of http://xapian.org/docs/omega/termprefixes.html as closely as makes sense, (with some domain translation from "web" to "email archive").
This commit is contained in:
parent
0aa355cc8f
commit
65a272832e
1 changed files with 20 additions and 11 deletions
31
database.cc
31
database.cc
|
@ -30,26 +30,35 @@ using namespace std;
|
||||||
|
|
||||||
#define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0]))
|
#define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0]))
|
||||||
|
|
||||||
/* These prefix values are specifically chosen to be compatible
|
|
||||||
* with sup, (http://sup.rubyforge.org), written by
|
|
||||||
* William Morgan <wmorgan-sup@masanjin.net>, and released
|
|
||||||
* under the GNU GPL v2.
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const char *name;
|
const char *name;
|
||||||
const char *prefix;
|
const char *prefix;
|
||||||
} prefix_t;
|
} prefix_t;
|
||||||
|
|
||||||
|
/* With these prefix values we follow the conventions published here:
|
||||||
|
*
|
||||||
|
* http://xapian.org/docs/omega/termprefixes.html
|
||||||
|
*
|
||||||
|
* as much as makes sense. Note that I took some liberty in matching
|
||||||
|
* the reserved prefix values to notmuch concepts, (for example, 'G'
|
||||||
|
* is documented as "newsGroup (or similar entity - e.g. a web forum
|
||||||
|
* name)", for which I think the thread is the closest analogue in
|
||||||
|
* notmuch. This in spite of the fact that we will eventually be
|
||||||
|
* storing mailing-list messages where 'G' for "mailing list name"
|
||||||
|
* might be even a closer analogue. I'm treating the single-character
|
||||||
|
* prefixes preferentially for core notmuch concepts (which will be
|
||||||
|
* nearly universal to all mail messages).
|
||||||
|
*/
|
||||||
|
|
||||||
prefix_t BOOLEAN_PREFIX_INTERNAL[] = {
|
prefix_t BOOLEAN_PREFIX_INTERNAL[] = {
|
||||||
{ "type", "K" },
|
{ "type", "T" },
|
||||||
{ "thread", "H" },
|
{ "thread", "G" },
|
||||||
{ "ref", "R" },
|
{ "ref", "XREFERENCE" },
|
||||||
{ "timestamp", "KTS" },
|
{ "timestamp", "XTIMESTAMP" },
|
||||||
};
|
};
|
||||||
|
|
||||||
prefix_t BOOLEAN_PREFIX_EXTERNAL[] = {
|
prefix_t BOOLEAN_PREFIX_EXTERNAL[] = {
|
||||||
{ "tag", "L" },
|
{ "tag", "K" },
|
||||||
{ "id", "Q" }
|
{ "id", "Q" }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue