[parser] Return error instead of panic (#316)

* [parser] return error instead of panic

* Fix clippy warning

* Fix cargo fmt warning
This commit is contained in:
BohuTANG 2021-06-22 13:05:43 +08:00 committed by GitHub
parent 35ef0eee38
commit 56e50dccd4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 7 deletions

View file

@ -24,7 +24,7 @@ use test_utils::{all_dialects, expr_from_projection, join, number, only, table,
use matches::assert_matches;
use sqlparser::ast::*;
use sqlparser::dialect::{keywords::ALL_KEYWORDS, SQLiteDialect};
use sqlparser::dialect::{keywords::ALL_KEYWORDS, GenericDialect, SQLiteDialect};
use sqlparser::parser::{Parser, ParserError};
#[test]
@ -109,7 +109,7 @@ fn parse_insert_sqlite() {
.unwrap()
{
Statement::Insert { or, .. } => assert_eq!(or, expected_action),
_ => panic!(sql.to_string()),
_ => panic!("{}", sql.to_string()),
};
let sql = "INSERT INTO test_table(id) VALUES(1)";
@ -358,6 +358,15 @@ fn test_eof_after_as() {
);
}
#[test]
fn test_no_infix_error() {
let res = Parser::parse_sql(&GenericDialect {}, "ASSERT-URA<<");
assert_eq!(
ParserError::ParserError("No infix parser for token ShiftLeft".to_string()),
res.unwrap_err()
);
}
#[test]
fn parse_select_count_wildcard() {
let sql = "SELECT COUNT(*) FROM customer";