* better error message for some broken queries
This commit is contained in:
@ -386,15 +386,20 @@ get_enquire (MuQuery *self, const char *searchexpr, MuMsgFieldId sortfieldid,
|
|||||||
{
|
{
|
||||||
Xapian::Enquire enq (self->db());
|
Xapian::Enquire enq (self->db());
|
||||||
|
|
||||||
|
try {
|
||||||
/* empty or "" means "matchall" */
|
/* empty or "" means "matchall" */
|
||||||
if (!mu_str_is_empty(searchexpr) &&
|
if (!mu_str_is_empty(searchexpr) &&
|
||||||
g_strcmp0 (searchexpr, "\"\"") != 0) /* NULL or "" or """" */
|
g_strcmp0 (searchexpr, "\"\"") != 0) /* NULL or "" or """" */
|
||||||
enq.set_query(get_query (self, searchexpr, err));
|
enq.set_query(get_query (self, searchexpr, err));
|
||||||
else
|
else
|
||||||
enq.set_query(Xapian::Query::MatchAll);
|
enq.set_query(Xapian::Query::MatchAll);
|
||||||
|
} catch (...) {
|
||||||
|
mu_util_g_set_error (err, MU_ERROR_XAPIAN_QUERY,
|
||||||
|
"parse error in query");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
enq.set_cutoff(0,0);
|
enq.set_cutoff(0,0);
|
||||||
|
|
||||||
return enq;
|
return enq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user