Skip to content

Commit 3f4c5c8

Browse files
committed
unit tests for select, delete statements ending with semi colon
1 parent 547ca90 commit 3f4c5c8

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tests/sqlparser_generic.rs

+27
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,33 @@ fn parse_parens() {
396396
, ast);
397397
}
398398

399+
#[test]
400+
fn parse_select_with_semi_colon() {
401+
let sql = String::from("SELECT id, fname, lname FROM customer WHERE id = 1;");
402+
let ast = parse_sql(&sql);
403+
match ast {
404+
ASTNode::SQLSelect { projection, .. } => {
405+
assert_eq!(3, projection.len());
406+
}
407+
_ => assert!(false),
408+
}
409+
}
410+
411+
#[test]
412+
fn parse_delete_with_semi_colon() {
413+
let sql: &str = "DELETE FROM 'table';";
414+
415+
match parse_sql(&sql) {
416+
ASTNode::SQLDelete { relation, .. } => {
417+
assert_eq!(
418+
Some(Box::new(ASTNode::SQLValue(Value::SingleQuotedString("table".to_string())))),
419+
relation
420+
);
421+
}
422+
_ => assert!(false),
423+
}
424+
}
425+
399426
fn parse_sql(sql: &str) -> ASTNode {
400427
let dialect = GenericSqlDialect {};
401428
let mut tokenizer = Tokenizer::new(&dialect,&sql, );

0 commit comments

Comments
 (0)