1use chryso::parser::{Dialect, ParserConfig, SimpleParser, SqlParser};
2
3#[repr(C)]
4pub struct ChrysoHandle {
5 _private: [u8; 0],
6}
7
8#[unsafe(no_mangle)]
9pub extern "C" fn chryso_parse_sql(sql: *const std::os::raw::c_char) -> *mut ChrysoHandle {
10 if sql.is_null() {
11 return std::ptr::null_mut();
12 }
13 let c_str = unsafe { std::ffi::CStr::from_ptr(sql) };
14 let Ok(sql_str) = c_str.to_str() else {
15 return std::ptr::null_mut();
16 };
17 let parser = SimpleParser::new(ParserConfig {
18 dialect: Dialect::Postgres,
19 });
20 let _ = parser.parse(sql_str).ok();
21 std::ptr::null_mut()
22}