Extended the Snowflake COPY INTO data-load select item parser to support nested semi-structured path traversal#2223
Open
romanoff wants to merge 2 commits intoapache:mainfrom
Conversation
iffyio
reviewed
Feb 23, 2026
src/dialect/snowflake.rs
Outdated
Comment on lines
+1515
to
+1516
| } else if let Token::Word(w) = parser.peek_token().token { | ||
| if !RESERVED_FOR_COLUMN_ALIAS.contains(&w.keyword) { |
Contributor
There was a problem hiding this comment.
would it make sense to somehow reuse the is_column_alias method for this dialect instead?
Also can we add test cases that cover this behavior?
…ort nested semi-structured path traversal
ca092cf to
6dccdeb
Compare
iffyio
reviewed
Mar 4, 2026
|
|
||
| /// Optionally parses an alias for a select list item | ||
| fn maybe_parse_select_item_alias(&mut self) -> Result<Option<Ident>, ParserError> { | ||
| pub fn maybe_parse_select_item_alias(&mut self) -> Result<Option<Ident>, ParserError> { |
Contributor
There was a problem hiding this comment.
Suggested change
| pub fn maybe_parse_select_item_alias(&mut self) -> Result<Option<Ident>, ParserError> { | |
| pub(crate) fn maybe_parse_select_item_alias(&mut self) -> Result<Option<Ident>, ParserError> { |
| Token::Word(w) => Ok(Ident::new(w.value)), | ||
| _ => parser.expected_ref("column item alias", parser.peek_token_ref()), | ||
| }?); | ||
| parser.prev_token(); |
Contributor
There was a problem hiding this comment.
would it be possible to rewrite the code so that it peeks the expected Token::Colon before entering the loop? if that would let us avoid this call to prev_token()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extended the Snowflake COPY INTO data-load select item parser to support nested semi-structured path traversal (e.g. $1:a:b:c) by looping over consecutive :element segments instead of consuming only one.
Example of query: