lib: make a global constant for query parser flags
authorDavid Bremner <david@tethera.net>
Tue, 22 Mar 2016 10:54:53 +0000 (07:54 -0300)
committerDavid Bremner <david@tethera.net>
Wed, 25 May 2016 10:40:44 +0000 (07:40 -0300)
It's already kindof gross that this is hardcoded in two different
places. We will also need these later in field processors calling back
into the query parser.

lib/database-private.h
lib/query.cc

index e1962f43c16ce12e6760e066d47886a206c97712..d2990b6ce72436caa173a125db6c03b9b247d2c6 100644 (file)
@@ -144,6 +144,13 @@ operator&=(_notmuch_features &a, _notmuch_features b)
     return a;
 }
 
+#define NOTMUCH_QUERY_PARSER_FLAGS (Xapian::QueryParser::FLAG_BOOLEAN | \
+                                   Xapian::QueryParser::FLAG_PHRASE | \
+                                   Xapian::QueryParser::FLAG_LOVEHATE | \
+                                   Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE | \
+                                   Xapian::QueryParser::FLAG_WILDCARD | \
+                                   Xapian::QueryParser::FLAG_PURE_NOT)
+
 struct _notmuch_database {
     notmuch_bool_t exception_reported;
 
index 77a7926ba80d6f13d1ca62ff7827bd18c9ef9c45..0875b0e42755d8e97d7110eb0d56670207553fe4 100644 (file)
@@ -220,12 +220,6 @@ _notmuch_query_search_documents (notmuch_query_t *query,
        Xapian::Query string_query, final_query, exclude_query;
        Xapian::MSet mset;
        Xapian::MSetIterator iterator;
-       unsigned int flags = (Xapian::QueryParser::FLAG_BOOLEAN |
-                             Xapian::QueryParser::FLAG_PHRASE |
-                             Xapian::QueryParser::FLAG_LOVEHATE |
-                             Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE |
-                             Xapian::QueryParser::FLAG_WILDCARD |
-                             Xapian::QueryParser::FLAG_PURE_NOT);
 
        if (strcmp (query_string, "") == 0 ||
            strcmp (query_string, "*") == 0)
@@ -233,7 +227,7 @@ _notmuch_query_search_documents (notmuch_query_t *query,
            final_query = mail_query;
        } else {
            string_query = notmuch->query_parser->
-               parse_query (query_string, flags);
+               parse_query (query_string, NOTMUCH_QUERY_PARSER_FLAGS);
            final_query = Xapian::Query (Xapian::Query::OP_AND,
                                         mail_query, string_query);
        }
@@ -579,12 +573,6 @@ _notmuch_query_count_documents (notmuch_query_t *query, const char *type, unsign
                                                   type));
        Xapian::Query string_query, final_query, exclude_query;
        Xapian::MSet mset;
-       unsigned int flags = (Xapian::QueryParser::FLAG_BOOLEAN |
-                             Xapian::QueryParser::FLAG_PHRASE |
-                             Xapian::QueryParser::FLAG_LOVEHATE |
-                             Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE |
-                             Xapian::QueryParser::FLAG_WILDCARD |
-                             Xapian::QueryParser::FLAG_PURE_NOT);
 
        if (strcmp (query_string, "") == 0 ||
            strcmp (query_string, "*") == 0)
@@ -592,7 +580,7 @@ _notmuch_query_count_documents (notmuch_query_t *query, const char *type, unsign
            final_query = mail_query;
        } else {
            string_query = notmuch->query_parser->
-               parse_query (query_string, flags);
+               parse_query (query_string, NOTMUCH_QUERY_PARSER_FLAGS);
            final_query = Xapian::Query (Xapian::Query::OP_AND,
                                         mail_query, string_query);
        }