* Parse source of MERGE as table_factor
Some MERGE queries need a table as a soruce,
added proper test showing it
* Clippy fix
Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
* add support for postgres composite types
Signed-off-by: password <rbalajis25@gmail.com>
* fix composite test for bigdecimal feature
Signed-off-by: password <rbalajis25@gmail.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>
* Add support in the position function
* Add Test
* Add lint fixes
* Remove if
* Change from to in
* Remove special method for position
* Fix lint
* PR Review
* Add support of nvarchar data type
* Change the format type with capitals
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* Add Test
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* implement parsing COPY statement
* support COPY option syntax before PostgreSQL version 9.0
Signed-off-by: Runji Wang <wangrunji0408@163.com>
* update COPY tests
Signed-off-by: Runji Wang <wangrunji0408@163.com>
* improve docs for COPY
Signed-off-by: Runji Wang <wangrunji0408@163.com>
* test and fix AS in COPY
Signed-off-by: Runji Wang <wangrunji0408@163.com>
* recover original test cases
* fix cargo clippy
* add support for MERGE statement
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
* fix lint errors
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
* support MySQL UNSIGNED
* fix: 🐛 `unsigned` is not column option
* test: 💍 add `unsigned` test
* fix: 🐛 `unsigned` is not column option
* feat: 🎸 declare unsigned data_types
* feat: 🎸 display unsigned
* fix: 🐛 unsigned is not column type option
* feat: 🎸 parse_data_type can parse unsigned
* feat: 🎸 int or decimal or float is unsigned selectable
* fix: 🐛 FLOAT/DOUBLE/DECIMAL + UNSIGNED is not recommended
https://dev.mysql.com/doc/refman/8.0/en/numeric-type-attributes.html
* test: 💍 add test
* style: 💄 fmt
* fix inconsistency between parse_grant_permissions and matched keywords
* Make it clear the error is an internal problem
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