qail-core 1.3.4

QAIL AST Kernel - typed query AST, schema validation, RLS context, and native access policy
Documentation
use qail_core::{parse, transpiler::ToSqlParameterized};

fn main() {
    let query = "get t fields coalesce(uc.unread_count, 0) as unread_count";

    match parse(query) {
        Ok(cmd) => {
            let res = cmd.to_sql_parameterized();
            println!("SQL: {}", res.sql);
            if res
                .sql
                .contains("coalesce(uc.unread_count, 0) AS \"unread_count\"")
                || res
                    .sql
                    .contains("COALESCE(uc.unread_count, 0) AS \"unread_count\"")
                || res
                    .sql
                    .contains("coalesce(uc.unread_count, 0) AS unread_count")
                || res
                    .sql
                    .contains("COALESCE(uc.unread_count, 0) AS unread_count")
            {
                println!("SUCCESS: Alias found correctly.");
            } else {
                println!("FAILURE: Alias missing in parameterized SQL.");
                std::process::exit(1);
            }
        }
        Err(e) => {
            eprintln!("Parse error: {}", e);
            std::process::exit(1);
        }
    }
}