* 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>
* add tests
* feat: parse raw literal of bq
* merge double quoted & single quoted to raw string literal
* Update src/ast/value.rs
---------
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* MySQL Character Set Introducers
* Documentation fix
* Parsing string introducer from Token::word
* Fixed lint
* fix clippy
---------
Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* Add a mutable visitor
This adds the ability to mutate parsed sql queries.
Previously, only visitors taking an immutable reference to the visited structures were allowed.
* add utility functions for mutable visits
* bump version numbers
* Add derive based AST visitor
* Fix BigDecimal
* Fix no visitor feature
* Add test
* Rename visit_table to visit_relation
* Review feedback
* Add pre and post visit
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
postgres supports a bunch more json operators. See
https://www.postgresql.org/docs/15/functions-json.html
Skipping operators starting with a question mark for now, since those
are hard to distinguish from placeholders without more context.
sqlparser can now parse all the prepared statement placeholders supported by SQLite:
- ?
- ?NNN
- @VVV
- :VVV
- $VVV
See: https://www.sqlite.org/lang_expr.html#varparam
This does not break existing support for postgresql's '@' operator
Fixes#603
* National string literal with lower case n
It's used by Snowflake
* Corrected DB name
Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
* Redshift square bracket handling
We need to detect `[` or `"` for Redshift quotes around indentifier and at the same time exclude
treating JSON paths as indentifer
* RedshiftSqlDialect documentation update
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* Renamed _chars to chars
* Fixed warnings
* Missing license
Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* fix: Handle double quotes inside quoted identifiers correctly
This fixes#410 for standard SQL, however I don't know enough about other dialects to know if they
handle this differently. May need more extensive testing as well.
* refactor: Make quoted identifier parsing a seperate function
* test: Check that quoted identifier tokenization works
Added `pretty_assertions` so that the `assert_eq!` in the tokenization is readable
* test: Check that quoted identifiers work in mysql
* chore: cargo clippy
* Move the keywords mod from dialect mod into the root of library
Signed-off-by: koushiro <koushiro.cqx@gmail.com>
* re-export keywords from dialect for backwards compatiblity
Signed-off-by: koushiro <koushiro.cqx@gmail.com>