-
Notifications
You must be signed in to change notification settings - Fork 602
Snowflake/copy into #841
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Snowflake/copy into #841
Conversation
Pull Request Test Coverage Report for Build 4676350337
💛 - Coveralls |
dd3f6ff
to
e6315ad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @pawel-big-lebowski -- looks good to me except for a few more tests
/// ```sql | ||
/// COPY INTO | ||
/// ``` | ||
/// See <https://docs.snowflake.com/en/sql-reference/sql/copy-into-table> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree it makes sense to use a separate struct for system specific syntax
src/ast/mod.rs
Outdated
into, | ||
from_stage, | ||
from_stage_alias, | ||
stage_params: _stage_params, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are stage_params ignored?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like stage_params
were totally forgotten for copy into
. Thanks for spotting this.
I've included stage_params
support in recent commit version.
@@ -40,6 +43,8 @@ impl Dialect for SnowflakeDialect { | |||
|| ch.is_ascii_digit() | |||
|| ch == '$' | |||
|| ch == '_' | |||
|| ch == '/' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't see any test coverage of these identifier changes. Could you please add some tests (to make sure we don't break the functionality in some future refactoring)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is done within test_snowflake_stage_object_names
test.
src/dialect/snowflake.rs
Outdated
into, | ||
from_stage, | ||
from_stage_alias, | ||
stage_params: StageParamsObject { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't see any test coverage for stage params -- could you please add some coverage for that as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you're right. I've included test_copy_into_with_stage_params
.
e6315ad
to
27b5c5b
Compare
Signed-off-by: Pawel Leszczynski <[email protected]>
27b5c5b
to
0561c97
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me -- thank you @pawel-big-lebowski
* Support identifiers beginning with digits in MySQL (apache#856) * support COPY INTO in snowflake (apache#841) Signed-off-by: Pawel Leszczynski <[email protected]> * Add `dialect_from_str` and improve `Dialect` documentation (apache#848) * Add `dialect_from_str` and improve `Dialect` documentation * cleanup * fix compilation with nostd * Support multiple-table DELETE syntax (apache#855) * Support `DISTINCT ON (...)` (apache#852) * Support "DISTINCT ON (...)" * a test * fix the merge * Test trailing commas (apache#859) * test: add tests for trailing commas * tweaks * Add support for query source in COPY .. TO statement (apache#858) * Add support for query source in COPY .. TO statement * Fix compile error * Fix logical merge conflict (apache#865) * Fix tiny typo in custom_sql_parser.md (apache#864) * Make Expr::Interval its own struct (apache#872) * Make Expr::Interval its own struct * Add test interval display * Fix cargo fmt * Include license file in published crate (apache#871) * Add support for multiple expressions, order by in aggregations (apache#879) * Add support for multiple expressions, order by in aggregations * Fix formatting errors * Resolve linter errors * Add parse_multipart_identifier function to parser (apache#860) * Add parse_multipart_identifier function to parser * Update doc for parse_multipart_identifier * Fix conflict * feat: Add custom operator (apache#868) * feat: Add custom operator From apache#863 - It doesn't parse anything — I'm not sure how to parse ` SELECT 'a' REGEXP '^[a-d]';` with `REGEXP` as the operator... (but fine for my narrow purpose) - If we need tests, where would I add them? * Update src/ast/operator.rs --------- Co-authored-by: Andrew Lamb <[email protected]> * feat: Support MySQL's `DIV` operator (apache#876) * feat: MySQL's DIV operator * fix: do not use `_` prefix for used variable --------- Co-authored-by: Andrew Lamb <[email protected]> * truncate: table as optional keyword (apache#883) Signed-off-by: Maciej Obuchowski <[email protected]> * feat: add DuckDB dialect (apache#878) * feat: add DuckDB dialect * formatting * fix conflict * support // in GenericDialect * add DucDbDialect to all_dialects * add comment from suggestion Co-authored-by: Andrew Lamb <[email protected]> * fix: support // in GenericDialect --------- Co-authored-by: Andrew Lamb <[email protected]> * Add support for first, last aggregate function parsing (apache#882) * Add order by parsing to functions * Fix doc error * minor changes * Named window frames (apache#881) * after over clause, named window can be parsed with window ... as after having clause * Lint errors are fixed * Support for multiple windows * fix lint errors * simplifications * rename function * Rewrite named window search in functional style * Test added and some minor changes * Minor changes on tests and namings, and semantic check is removed --------- Co-authored-by: Mustafa Akur <[email protected]> Co-authored-by: Mehmet Ozan Kabak <[email protected]> * Fix merge conflict (apache#885) * Update CHANGELOG for `0.34.0` release (apache#884) * chore: Release sqlparser version 0.34.0 * Update criterion requirement from 0.4 to 0.5 in /sqlparser_bench (apache#890) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: Pawel Leszczynski <[email protected]> Signed-off-by: Maciej Obuchowski <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: AviRaboah <[email protected]> Co-authored-by: pawel.leszczynski <[email protected]> Co-authored-by: Andrew Lamb <[email protected]> Co-authored-by: Aljaž Mur Eržen <[email protected]> Co-authored-by: Armin Primadi <[email protected]> Co-authored-by: Okue <[email protected]> Co-authored-by: Andrew Kane <[email protected]> Co-authored-by: Mustafa Akur <[email protected]> Co-authored-by: Jeffrey <[email protected]> Co-authored-by: Maximilian Roos <[email protected]> Co-authored-by: eitsupi <[email protected]> Co-authored-by: Maciej Obuchowski <[email protected]> Co-authored-by: Berkay Şahin <[email protected]> Co-authored-by: Mustafa Akur <[email protected]> Co-authored-by: Mehmet Ozan Kabak <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Support Snowflake's
COPY INTO
clause:Docs: https://docs.snowflake.com/en/sql-reference/sql/copy-into-table