diff --git a/src/frontend/query.c b/src/frontend/query.c
index 338d95a75c6351343a6a2b248b3f5bc2a61cdafa..34b35839e03c3d00835e449710f5fffaec5d76fc 100644 (file)
--- a/src/frontend/query.c
+++ b/src/frontend/query.c
/* run analyzer separately; parse_matcher is missing
* the right context to do so */
- if (sdb_fe_analyze(SDB_CONN_NODE(&node))) {
+ if (sdb_fe_analyze(SDB_CONN_NODE(&node), conn->errbuf)) {
char expr[matcher_len + 1];
+ char err[sdb_strbuf_len(conn->errbuf) + sizeof(expr) + 64];
strncpy(expr, matcher, sizeof(expr));
expr[sizeof(expr) - 1] = '\0';
- sdb_strbuf_sprintf(conn->errbuf, "Failed to verify "
- "lookup condition '%s'", expr);
+ snprintf(err, sizeof(err), "Failed to parse "
+ "lookup condition '%s': %s", expr,
+ sdb_strbuf_string(conn->errbuf));
+ sdb_strbuf_sprintf(conn->errbuf, "%s", err);
status = -1;
}
else