X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=database.cc;h=31afe7cc147afdc3098e8599eb57337b7c7b785d;hp=5ee07059cda75569fe7e7bbfd6ffca6b23a4c823;hb=65baa4f4e7fc401e5af742b491a3bc0784f2cdf7;hpb=50144fb354dc5bf282c2a2cdc68c926e42ccf3ef diff --git a/database.cc b/database.cc index 5ee07059..31afe7cc 100644 --- a/database.cc +++ b/database.cc @@ -67,15 +67,6 @@ prefix_t BOOLEAN_PREFIX[] = { { "ref", "R" } }; -/* Similarly, these value numbers are also chosen to be sup - * compatible. */ - -typedef enum { - NOTMUCH_VALUE_MESSAGE_ID = 0, - NOTMUCH_VALUE_THREAD = 1, - NOTMUCH_VALUE_DATE = 2 -} notmuch_value_t; - static const char * find_prefix (const char *name) { @@ -459,6 +450,9 @@ notmuch_database_open (const char *path) try { notmuch->xapian_db = new Xapian::WritableDatabase (xapian_path, Xapian::DB_CREATE_OR_OPEN); + notmuch->query_parser = new Xapian::QueryParser; + notmuch->query_parser->set_default_op (Xapian::Query::OP_AND); + notmuch->query_parser->set_database (*notmuch->xapian_db); } catch (const Xapian::Error &error) { fprintf (stderr, "A Xapian exception occurred: %s\n", error.get_msg().c_str()); @@ -478,6 +472,7 @@ notmuch_database_open (const char *path) void notmuch_database_close (notmuch_database_t *notmuch) { + delete notmuch->query_parser; delete notmuch->xapian_db; free (notmuch->path); free (notmuch); @@ -520,6 +515,8 @@ notmuch_database_add_message (notmuch_database_t *notmuch, try { doc.set_data (filename); + add_term (doc, "type", "mail"); + parents = g_ptr_array_new (); refs = notmuch_message_file_get_header (message, "references");