test_subquery/
test_subquery.rs1use qail_core::parse;
4use qail_core::transpiler::ToSql;
5
6fn main() {
7 println!("=== Testing INSERT...SELECT ===\n");
8
9 let query1 =
11 "add archive fields id, name from (get users fields id, name where active = false)";
12 println!("Query 1: {}", query1);
13 match parse(query1) {
14 Ok(cmd) => {
15 println!(" source_query: {:?}", cmd.source_query.is_some());
16 println!(" SQL: {}\n", cmd.to_sql());
17 }
18 Err(e) => println!(" Parse error: {:?}\n", e),
19 }
20
21 println!("=== Testing Subquery in SET ===\n");
22
23 let query2 = "set orders values total = (get items fields sum(price) where order_id = orders.id) where id = :id";
25 println!("Query 2: {}", query2);
26 match parse(query2) {
27 Ok(cmd) => println!(" SQL: {}\n", cmd.to_sql()),
28 Err(e) => println!(" Parse error: {:?}\n", e),
29 }
30
31 let query3 =
33 "set users values role_id = (get roles fields id where name = 'admin') where user_id = :id";
34 println!("Query 3: {}", query3);
35 match parse(query3) {
36 Ok(cmd) => println!(" SQL: {}\n", cmd.to_sql()),
37 Err(e) => println!(" Parse error: {:?}\n", e),
38 }
39}