mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-07-07 17:04:59 +00:00
Add support for Snowflake column aliases that use SQL keywords (#1632)
This commit is contained in:
parent
474150006f
commit
b4b5576dd4
4 changed files with 163 additions and 56 deletions
|
@ -3022,3 +3022,32 @@ fn parse_ls_and_rm() {
|
|||
|
||||
snowflake().verified_stmt(r#"LIST @"STAGE_WITH_QUOTES""#);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_sql_keywords_as_select_item_aliases() {
|
||||
// Some keywords that should be parsed as an alias
|
||||
let unreserved_kws = vec!["CLUSTER", "FETCH", "RETURNING", "LIMIT", "EXCEPT"];
|
||||
for kw in unreserved_kws {
|
||||
snowflake()
|
||||
.one_statement_parses_to(&format!("SELECT 1 {kw}"), &format!("SELECT 1 AS {kw}"));
|
||||
}
|
||||
|
||||
// Some keywords that should not be parsed as an alias
|
||||
let reserved_kws = vec![
|
||||
"FROM",
|
||||
"GROUP",
|
||||
"HAVING",
|
||||
"INTERSECT",
|
||||
"INTO",
|
||||
"ORDER",
|
||||
"SELECT",
|
||||
"UNION",
|
||||
"WHERE",
|
||||
"WITH",
|
||||
];
|
||||
for kw in reserved_kws {
|
||||
assert!(snowflake()
|
||||
.parse_sql_statements(&format!("SELECT 1 {kw}"))
|
||||
.is_err());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue