MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / select_expr_lowered

Function select_expr_lowered

nodedb-sql/src/resolver/expr/tests.rs:297–312  ·  view source on GitHub ↗

Parses `SELECT FROM t` and returns the lowered `SqlExpr` for ` `.

(sql: &str)

Source from the content-addressed store, hash-verified

295
296/// Parses `SELECT <expr> FROM t` and returns the lowered `SqlExpr` for `<expr>`.
297fn select_expr_lowered(sql: &str) -> SqlExpr {
298 let stmts = parse_sql(sql).expect("parse failed");
299 let Statement::Query(q) = &stmts[0] else {
300 panic!("expected query");
301 };
302 let sqlparser::ast::SetExpr::Select(sel) = q.body.as_ref() else {
303 panic!("expected select body");
304 };
305 let raw = &sel.projection[0];
306 let raw_expr = match raw {
307 SelectItem::UnnamedExpr(e) => e,
308 SelectItem::ExprWithAlias { expr, .. } => expr,
309 other => panic!("unexpected projection: {other:?}"),
310 };
311 convert_expr(raw_expr).expect("convert_expr failed")
312}
313
314fn assert_json_fn(sql: &str, expected_fn: &str) {
315 let expr = select_expr_lowered(sql);

Callers 7

assert_json_fnFunction · 0.85
tsvector_cast_elidedFunction · 0.85
tsquery_cast_elidedFunction · 0.85

Calls 4

convert_exprFunction · 0.85
parse_sqlFunction · 0.50
expectMethod · 0.45
as_refMethod · 0.45

Tested by

no test coverage detected