diff --git a/src/frontend/parser.c b/src/frontend/parser.c
index 936f31e6c2e12ecc4658c94d07b69e1d2cc03d94..8d608d6dfd53726ce7f833f1d7bc20a6f8cb984e 100644 (file)
--- a/src/frontend/parser.c
+++ b/src/frontend/parser.c
while (sdb_llist_iter_has_next(iter)) {
sdb_conn_node_t *node;
node = SDB_CONN_NODE(sdb_llist_iter_get_next(iter));
- if (sdb_fe_analyze(node)) {
- /* TODO: pass on errbuf to the analyzer */
- sdb_strbuf_sprintf(errbuf, "Failed to verify "
- "query '%s'", query);
+ if (sdb_fe_analyze(node, errbuf)) {
sdb_llist_iter_destroy(iter);
sdb_llist_destroy(yyextra.parsetree);
return NULL;
return NULL;
}
- assert(node->cmd == CONNECTION_MATCHER);
+ assert(node->cmd == SDB_CONNECTION_MATCHER);
m = CONN_MATCHER(node)->matcher;
CONN_MATCHER(node)->matcher = NULL;
if (scanner_init(expr, len, &scanner, &yyextra, errbuf))
return NULL;
- yyextra.mode = SDB_PARSE_EXPR;
+ yyextra.mode = SDB_PARSE_ARITH;
yyres = sdb_fe_yyparse(scanner);
sdb_fe_scanner_destroy(scanner);
return NULL;
}
- assert(node->cmd == CONNECTION_EXPR);
+ assert(node->cmd == SDB_CONNECTION_EXPR);
e = CONN_EXPR(node)->expr;
CONN_EXPR(node)->expr = NULL;