Skip to content

Commit fc735de

Browse files
yoavcloudayman-sigma
authored andcommitted
Snowflake: Minus char in stage name (apache#2014)
1 parent fa05077 commit fc735de

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

src/dialect/snowflake.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,6 +1065,7 @@ pub fn parse_stage_name_identifier(parser: &mut Parser) -> Result<Ident, ParserE
10651065
Token::Mod => ident.push('%'),
10661066
Token::Div => ident.push('/'),
10671067
Token::Plus => ident.push('+'),
1068+
Token::Minus => ident.push('-'),
10681069
Token::Number(n, _) => ident.push_str(n),
10691070
Token::Word(w) => ident.push_str(&w.to_string()),
10701071
_ => return parser.expected("stage name identifier", parser.peek_token()),

tests/sqlparser_snowflake.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2702,7 +2702,7 @@ fn test_snowflake_copy_into() {
27022702
}
27032703

27042704
// Test for non-ident characters in stage names
2705-
let sql = "COPY INTO a.b FROM @namespace.stage_name/x@x~x%x+/20250723_data";
2705+
let sql = "COPY INTO a.b FROM @namespace.stage_name/x@x~x%x+/20250723_data-x";
27062706
assert_eq!(snowflake().verified_stmt(sql).to_string(), sql);
27072707
match snowflake().verified_stmt(sql) {
27082708
Statement::CopyIntoSnowflake { into, from_obj, .. } => {
@@ -2714,7 +2714,7 @@ fn test_snowflake_copy_into() {
27142714
from_obj,
27152715
Some(ObjectName::from(vec![
27162716
Ident::new("@namespace"),
2717-
Ident::new("stage_name/x@x~x%x+/20250723_data")
2717+
Ident::new("stage_name/x@x~x%x+/20250723_data-x")
27182718
]))
27192719
)
27202720
}

0 commit comments

Comments
 (0)