pub fn parse(input: &str) -> QailResult<QailCmd>Expand description
Parse a complete QAIL query string (v2 syntax only).
Uses keyword-based syntax: get table fields * where col = value
Examples found in repository?
examples/test_param_repro.rs (line 6)
3fn main() {
4 let query = "get::t 'coalesce(uc.unread_count, 0)@unread_count";
5
6 match parse(query) {
7 Ok(cmd) => {
8 let res = cmd.to_sql_parameterized();
9 println!("SQL: {}", res.sql);
10 if res.sql.contains("coalesce(uc.unread_count, 0) AS \"unread_count\"") || res.sql.contains("COALESCE(uc.unread_count, 0) AS \"unread_count\"") {
11 println!("SUCCESS: Alias found correctly.");
12 } else {
13 println!("FAILURE: Alias missing in parameterized SQL.");
14 std::process::exit(1);
15 }
16 }
17 Err(e) => {
18 eprintln!("Parse error: {}", e);
19 std::process::exit(1);
20 }
21 }
22}