* 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>
* Non latin characters
---------
Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
* Test for mysql
---------
Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
* Fix table alias parsing regression
* Revert "Support redshift's columns definition list for system information functions (#769)"
This reverts commit c35dcc93a7.
* parsing of redshift's column definition list for
pg_get_late_binding_view_cols
pg_get_cols
pg_get_grantee_by_iam_role
pg_get_iam_role_by_user
* Renamed ColsDefinition to TableAliasDefinition
added generic dialect
* Tests fixed
* Visitor for IdentPair
* Parsing redshift table alias based on indentifier and
parentheses instead of function name
* fix clippy
---------
Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Postgres supports more generalized locking clauses, for example:
FOR UPDATE OF <table_name> SKIP LOCKED
also, multiple locking clauses. Generalize the parser to support these.
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* first commit
* fix style and edit test
* fix test?
* remove unnecessary logic
* refactor implementation
* codestyle
* add schema support
* codestyle and lint
* Apply suggestions from code review
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* PartialOrd and Ord
* clean up parser logic
* codestyle and lint
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* Adapt VALUES to MySQL dialect
* Update src/ast/query.rs
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* remove *requirement* for ROW
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* add set time zone sometimezone as a exception while parsing keyword::set
* remove redundant parentheses
* add Statement::SetTimeZone
* delete useless comments
* Apply UPDATE SET FROM statement for some dialects
* Add GenericDialect to support
* Test SnowflakeDialect
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* Update SetOperation field all to op_option
* Implement parse_set_operator_option
cargo fmt
Fix parse_set_operator_option after next_token
* Add test for parsing union distinct
* Rename to SetQualifier and fix fmt space
* Add None to SetQualifier
* Update parse method
* Rename to SetQuantifier
* Rename parse_set_operator_option parse_set_operator
* Fix test to parse union, except, intersect
* Add some comments to SetQuantifier
* Fix comment
Theoretically the behavior should be the same as CREATE INDEX, but we
cannot make that assumption, so the parse is (almost) identical as the
input.
Breaking changes:
- Now HASH and BTREE are KEYWORDS, and using them as names can result in
errors.
- Now 'KEY' and 'INDEX' column names start the parsing of a table constraint if unquoted for the Generic dialect. This results in possible conficts if canonical results are compared for all dialects if a column is named 'key' without quotes.
* Add ObjectType Sequence
* Drop sequence test cases added.
* Parser and Drop statement Display updated.
* Parser and Drop statement Display updated.
* Fix compile errors
* add new test case
* support ceil/floor to datetime
* Update mod.rs
* Update parser.rs
* murphys law
* Update sqlparser_common.rs
* possible fix?
* remove question mark
* ceil to floor
* Update mod.rs
* Apply suggestions from code review
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* refactor into parse_ceil_floor_expr
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* 640 Fixing time zone printing format for TIMESTAMP and TIME
* 640 Removing unnecessary changes
* Update src/ast/data_type.rs
Fix comment typo
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>