mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-23 19:38:07 +01:00
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>
This commit is contained in:
parent
78aaef9a0b
commit
785f9d656d
3 changed files with 6 additions and 4 deletions
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue