test_coalesce/
test_coalesce.rs1use qail_core::parse;
4use qail_core::transpiler::ToSql;
5
6fn main() {
7 println!("=== Testing COALESCE Function ===\n");
8
9 let query1 = "set users values name = coalesce(:name, name) where id = :id";
11 println!("Query 1: {}", query1);
12 match parse(query1) {
13 Ok(cmd) => println!(" SQL: {}\n", cmd.to_sql()),
14 Err(e) => println!(" Parse error: {:?}\n", e),
15 }
16
17 let query2 = "get users fields coalesce(name, 'Unknown') as display_name";
19 println!("Query 2: {}", query2);
20 match parse(query2) {
21 Ok(cmd) => println!(" SQL: {}\n", cmd.to_sql()),
22 Err(e) => println!(" Parse error: {:?}\n", e),
23 }
24
25 let query3 = "get users fields coalesce(nickname, name, email) as display";
27 println!("Query 3: {}", query3);
28 match parse(query3) {
29 Ok(cmd) => println!(" SQL: {}\n", cmd.to_sql()),
30 Err(e) => println!(" Parse error: {:?}\n", e),
31 }
32
33 let query4 = "get users fields nullif(status, 'inactive') as active_status";
35 println!("Query 4: {}", query4);
36 match parse(query4) {
37 Ok(cmd) => println!(" SQL: {}\n", cmd.to_sql()),
38 Err(e) => println!(" Parse error: {:?}\n", e),
39 }
40}