Add support for query source in COPY .. TO statement#858
Conversation
| Some(Keyword::TO) => true, | ||
| _ => self.expected("FROM or TO", self.peek_token())?, | ||
| }; | ||
| if !to { |
There was a problem hiding this comment.
I think we should remove this error in the parser per https://github.com/sqlparser-rs/sqlparser-rs#syntax-vs-semantics (if downstream crates want to error that is fine).
I don't feel super strongly on this point
what do you think @ankrgyl ?
There was a problem hiding this comment.
I argue that this is syntactic as the syntax is described here and is different for COPY .. FROM vs COPY .. TO. https://www.postgresql.org/docs/current/sql-copy.html.
Looking at DuckDB syntax graph also there seems to be difference syntactically between COPY .. FROM vs COPY .. TO. https://duckdb.org/docs/sql/statements/copy
But yeah let's wait on what @ankrgyl think about it. I'll go with whatever the consensus decide since I'm not an expert in various SQL dialects.
There was a problem hiding this comment.
As I said above, I think this way is fine (and kudos to you for covering it with tests). I agree let's see if @ankrgyl has any thoughts
There was a problem hiding this comment.
Thank you for the really fast review @alamb -- must be tough reviewing so many repos ❤️
|
This PR appears to have some lint and complication errors |
|
Ah yes working on fixing it |
Pull Request Test Coverage Report for Build 4821865552
💛 - Coveralls |
|
Thanks again @aprimadi |
* Support identifiers beginning with digits in MySQL (apache#856) * support COPY INTO in snowflake (apache#841) Signed-off-by: Pawel Leszczynski <leszczynski.pawel@gmail.com> * 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 <andrew@nerdnetworks.org> * 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 <andrew@nerdnetworks.org> * truncate: table as optional keyword (apache#883) Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com> * 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 <andrew@nerdnetworks.org> * fix: support // in GenericDialect --------- Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org> * 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 <mustafa.akur@synnada.ai> Co-authored-by: Mehmet Ozan Kabak <ozankabak@gmail.com> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: Pawel Leszczynski <leszczynski.pawel@gmail.com> Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: AviRaboah <91826424+AviRaboah@users.noreply.github.com> Co-authored-by: pawel.leszczynski <leszczynski.pawel@gmail.com> Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org> Co-authored-by: Aljaž Mur Eržen <aljazerzen@users.noreply.github.com> Co-authored-by: Armin Primadi <aprimadi@gmail.com> Co-authored-by: Okue <nogideca@gmail.com> Co-authored-by: Andrew Kane <acekane1@gmail.com> Co-authored-by: Mustafa Akur <106137913+mustafasrepo@users.noreply.github.com> Co-authored-by: Jeffrey <22608443+Jefffrey@users.noreply.github.com> Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com> Co-authored-by: eitsupi <50911393+eitsupi@users.noreply.github.com> Co-authored-by: Maciej Obuchowski <obuchowski.maciej@gmail.com> Co-authored-by: Berkay Şahin <124376117+berkaysynnada@users.noreply.github.com> Co-authored-by: Mustafa Akur <mustafa.akur@synnada.ai> Co-authored-by: Mehmet Ozan Kabak <ozankabak@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Closes #857