1use sqlparser::ast::Statement;
4use sqlparser::dialect::GenericDialect;
5use sqlparser::parser::{Parser, ParserError};
6
7pub fn parse(sql: &str) -> Result<Vec<Statement>, ParserError> {
9 let dialect = GenericDialect {};
10 Parser::parse_sql(&dialect, sql)
11}
12
13#[cfg(test)]
14mod test {
15 use super::parse;
16
17 #[test]
18 fn sanity_check() {
19 let sql = "SELECT a, b, c FROM foo WHERE c = 10 ORDER BY a LIMIT 10";
20 let ast = parse(sql);
21 assert!(ast.is_ok());
22 let ast = ast.unwrap();
23 assert_eq!(ast.len(), 1);
24 let stmt = &ast[0];
25 assert_eq!(stmt.to_string(), sql);
26 }
27}