aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael J Gruber <git@grubix.eu>2022-04-15 18:23:46 +0200
committerDavid Bremner <david@tethera.net>2022-04-15 14:17:31 -0300
commit785f9d656d547a325c978eee51cf7e52ed2fe625 (patch)
tree146030e902e7a80a67361cab205824641ef581b0 /lib
parent78aaef9a0b6f106e648367b18b46b48d885f9213 (diff)
fix build without sfsexp
a1d139de ("lib: add sexp: prefix to Xapian (infix) query parser.", 2022-04-09) introduced sfsexp infix queries. This requires the infix preprocessor to be built in in a way which does not require sfsexp when notmuch is built without it. Make the preprocessor throw a Xapian error in this case (and fix the build). Signed-off-by: Michael J Gruber <git@grubix.eu>
Diffstat (limited to 'lib')
-rw-r--r--lib/database-private.h4
-rw-r--r--lib/query.cc2
-rw-r--r--lib/sexp-fp.cc4
3 files changed, 6 insertions, 4 deletions
diff --git a/lib/database-private.h b/lib/database-private.h
index 657b1aa1..419b9fe6 100644
--- a/lib/database-private.h
+++ b/lib/database-private.h
@@ -354,10 +354,6 @@ _notmuch_query_string_to_xapian_query (notmuch_database_t *notmuch,
std::string query_string,
Xapian::Query &output,
std::string &msg);
-/* parse-sexp.cc */
-notmuch_status_t
-_notmuch_sexp_string_to_xapian_query (notmuch_database_t *notmuch, const char *querystr,
- Xapian::Query &output);
notmuch_status_t
_notmuch_query_expand (notmuch_database_t *notmuch, const char *field, Xapian::Query subquery,
diff --git a/lib/query.cc b/lib/query.cc
index b0937fcc..707f6222 100644
--- a/lib/query.cc
+++ b/lib/query.cc
@@ -227,6 +227,7 @@ _notmuch_query_ensure_parsed_xapian (notmuch_query_t *query)
return NOTMUCH_STATUS_SUCCESS;
}
+#if HAVE_SFSEXP
static notmuch_status_t
_notmuch_query_ensure_parsed_sexpr (notmuch_query_t *query)
{
@@ -243,6 +244,7 @@ _notmuch_query_ensure_parsed_sexpr (notmuch_query_t *query)
_notmuch_query_cache_terms (query);
return NOTMUCH_STATUS_SUCCESS;
}
+#endif
static notmuch_status_t
_notmuch_query_ensure_parsed (notmuch_query_t *query)
diff --git a/lib/sexp-fp.cc b/lib/sexp-fp.cc
index ed26f6ec..1fdf5225 100644
--- a/lib/sexp-fp.cc
+++ b/lib/sexp-fp.cc
@@ -30,10 +30,14 @@ SexpFieldProcessor::operator() (const std::string & query_string)
notmuch_status_t status;
Xapian::Query output;
+#if HAVE_SFSEXP
status = _notmuch_sexp_string_to_xapian_query (notmuch, query_string.c_str (), output);
if (status) {
throw Xapian::QueryParserError ("error parsing " + query_string);
}
+#else
+ throw Xapian::QueryParserError ("sexp query parser not available");
+#endif
return output;