yuval-illumex
a422116b89
inital commit ( #736 )
2022-11-30 13:33:15 -05:00
Andrew Lamb
77eddfcc8d
minor cleanup to avoid is_ok()
( #740 )
2022-11-30 19:25:17 +01:00
Andrew Lamb
bd35273789
Cleanup: avoid using unreachable!
when parsing semi/anti join ( #738 )
2022-11-30 19:25:02 +01:00
Andrew Lamb
b17c44a64a
Docs: Add an example to clarify semantic analysis ( #739 )
2022-11-30 19:24:13 +01:00
Han YANG
e22aa78315
fix: handle nested comments ( #726 )
2022-11-30 13:22:29 -05:00
mao
316359760d
Support USING method when creating indexes. ( #731 )
...
* fix: create index using function
* fix: code style
Co-authored-by: yangjiaxin <yangjiaxin@qianxin.com>
2022-11-30 13:17:38 -05:00
Tao Wu
7101e0021f
feat: add method to get current parsing index ( #728 )
2022-11-30 13:14:47 -05:00
Augusto Fotino
6f48fc9acb
docs: add information about parting semantic logic to README.md ( #724 )
2022-11-30 13:03:10 -05:00
mingmwang
96bca38fae
Support SEMI/ANTI JOIN syntax ( #723 )
2022-11-30 12:57:45 -05:00
Andrew Lamb
1f22ea74ae
fix: logical conflicts
2022-11-30 12:55:55 -05:00
Augusto Fotino
fa6bd01b19
Support EXCLUDE support for snowflake and generic dialect ( #721 )
...
The exclude clause can be used after a possibly qualified on SELECT
2022-11-30 12:29:43 -05:00
Augusto Fotino
3df0e444c8
Add 'compression' as keyword ( #720 )
2022-11-30 12:26:35 -05:00
Augusto Fotino
5e1d9f8d6e
Derive PartialOrd
, Ord
, and Copy
whenever possible ( #717 )
...
This allow other projects to use our structures inside others that need
those.
2022-11-30 12:25:59 -05:00
Paul McGee
c429197340
tiny typo ( #709 )
2022-11-30 12:24:10 -05:00
Augusto Fotino
09d53623bc
Support MATCH AGAINST
( #708 )
...
Support added for both MySQL and Generic dialects.
2022-11-30 12:16:50 -05:00
Augusto Fotino
886875f3bf
Support for IF NOT EXISTS
in ALTER TABLE ADD COLUMN ( #707 )
2022-11-29 15:37:14 -05:00
Wei-Ting Kuo
bae682255d
add set time zone sometimezone as a exception while parsing keyword::set ( #727 )
...
* add set time zone sometimezone as a exception while parsing keyword::set
* remove redundant parentheses
* add Statement::SetTimeZone
* delete useless comments
2022-11-28 16:16:08 -05:00
mao
10652b61b4
fix: Supports updating valid column names whose names are the same as… ( #725 )
...
* fix: Supports updating valid column names whose names are the same as keywords
* fix: warning
2022-11-27 07:29:09 -05:00
Sarah Yurick
57083a0df1
Fix interval parsing logic and precedence ( #705 )
...
* initial fix
* add comma
* add test
* style
* add more tests
* codestyle fix
2022-11-22 07:45:47 -05:00
unvalley
4b1dc1abf7
Support UPDATE ... FROM ( subquery )
in some dialects ( #694 )
...
* Apply UPDATE SET FROM statement for some dialects
* Add GenericDialect to support
* Test SnowflakeDialect
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-11-11 16:37:09 -05:00
Andrew Lamb
0d91662c88
(cargo-release) version 0.27.0
2022-11-11 16:35:41 -05:00
Andrew Lamb
6a847107ce
Update CHANGELOG for 0.27.0 release ( #706 )
2022-11-11 16:34:40 -05:00
main()
814367a6ab
Implement ON CONFLICT and RETURNING ( #666 )
...
* Implement RETURNING on INSERT/UPDATE/DELETE
* Implement INSERT ... ON CONFLICT
* Fix tests
* cargo fmt
* tests: on conflict and returning
Co-authored-by: gamife <gamife9886@gmail.com>
2022-11-11 16:15:31 -05:00
José Duarte
ae1c69034e
Fix broken DataFusion link ( #703 )
2022-11-11 16:15:05 -05:00
Augusto Fotino
65c5a37bce
feat: add precision for TIME, DATETIME, and TIMESTAMP data types ( #701 )
...
Now all those statements are both parsed and displayed with precision
and timezone info. Tests were added to the ones presented in the ANSI
standard.
2022-11-11 16:06:57 -05:00
Augusto Fotino
cdf4447065
feat: add FULLTEXT option on create table for MySQL and Generic dialects ( #702 )
2022-11-11 16:03:39 -05:00
SuperBo
87b4a168cb
Parse ARRAY_AGG for Bigquery and Snowflake ( #662 )
2022-11-11 15:25:07 -05:00
omer-shtivi
0428ac742b
Add MySql, BigQuery to all dialects ( #697 )
...
* Add MySql, BigQuery to all dialects
* move unsupported on mysql from common
2022-11-07 15:32:47 -05:00
unvalley
f7817bc7c2
Support DISTINCT
for SetOperator ( #689 )
...
* 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
2022-11-07 07:05:59 -05:00
yuval-illumex
0f7e144890
Support the ARRAY type of Snowflake ( #699 )
...
* Snowflake Array
* Use the array data type
* Try to fix build
* Try to fix build
* Change Array to option
* Remove unused import
2022-11-04 10:25:25 -04:00
sam
bbf32a9e81
Support create sequence with options INCREMENT, MINVALUE, MAXVALUE, START etc. ( #681 )
...
* Creat sequence options model
[ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]
[ OWNED BY { table_name.column_name | NONE } ]
* Fix for format! not avalable in --target thumbv6m-none-eabi
* Fix for format! not avalable in --target thumbv6m-none-eabi
* Fix for format! not avalable in --target thumbv6m-none-eabi
* Fix for format! not avalable in --target thumbv6m-none-eabi
* Updated parser for sequence options
* Updated parser for sequence options
* Update src/ast/mod.rs
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-11-03 09:16:43 -04:00
yuval-illumex
93a050e5f0
Snowflake: Support semi-structured data ( #693 )
...
* Support parse json in snowflake
* MR Review
* Lint
* Try to fix right as value
* Fix tests
* Fix lint
* Add generic dialect
* Add support in key location
2022-11-02 12:05:35 -04:00
ding-young
27c3ec87db
Support ALTER TABLE DROP PRIMARY KEY
( #682 )
...
* parse alter table drop primary key
* cargo nightly fmt
* add Dialect validation
2022-11-02 10:15:33 -04:00
AugustoFKL
1b3778e2d5
feature!: added NUMERIC and DEC ANSI data types, and now the DECIMAL ( #695 )
...
type prints DECIMAL instead of NUMERIC.
BREAKING CHANGE: enum DATA TYPE variants changed, changing any API that
uses it.
2022-10-31 15:22:34 -04:00
Sarah Yurick
f0646c8c1a
add Date keyword ( #691 )
2022-10-31 15:20:57 -04:00
dependabot[bot]
b671dc62d3
Update simple_logger requirement from 2.1 to 4.0 ( #692 )
...
Updates the requirements on [simple_logger](https://github.com/borntyping/rust-simple_logger ) to permit the latest version.
- [Release notes](https://github.com/borntyping/rust-simple_logger/releases )
- [Commits](https://github.com/borntyping/rust-simple_logger/compare/v2.1.0...v4.0.0 )
---
updated-dependencies:
- dependency-name: simple_logger
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-30 07:28:37 -04:00
Ning Sun
914810d366
Modifier support for Custom Datatype ( #680 )
...
* feat: add support for custom types with argument
* refactor: add support for number and string as type arguments
* fix: ignore CustomWithArgs when parsing TypedString
* refactor: merge CustomWithArgs into Custom
* refactor: rename arguments to modifiers
2022-10-20 15:27:15 -04:00
Andrew Lamb
2c266a437c
(cargo-release) version 0.26.0
2022-10-19 17:39:37 -04:00
Andrew Lamb
b525c9f2f7
Add changelog for 0.26.0 ( #679 )
2022-10-19 17:35:37 -04:00
AugustoFKL
2aba3f8c91
Adding MySQL table option {INDEX | KEY} to the CREATE TABLE definiton (partial). ( #665 )
...
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.
2022-10-19 17:24:38 -04:00
sam
e3c936a6ce
mod, parser and test cases for CREATE [ { TEMPORARY | TEMP } ] SEQUENCE [ IF NOT EXISTS ] ( #678 )
2022-10-19 17:21:17 -04:00
sam
b32cbbd855
Support drop sequence statement ( #673 )
...
* 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
2022-10-15 08:04:19 -04:00
AugustoFKL
b42632fa0d
Support for ANSI CHARACTER LARGE OBJECT[(p)]
and CHAR LARGE OBJECT[(p)]
. ( #671 )
...
Add tests for both and `CLOB[(p)]`.
2022-10-15 07:55:08 -04:00
Francis Du
a59874136d
Support cache/uncache table syntax ( #670 )
...
* feat: support cache/uncache table syntax
* fix: support the full cache table syntax
2022-10-15 07:53:43 -04:00
Mustafa akur
427bec4ccc
Support for INTERVAL inside window frames ( #655 )
...
* Add support to for INTERVAL inside window queries
* Remove the unnecessary ancillary struct Interval
* Convert Window Frame Bound to Expr
* remove unnecessary changes
* remove unnecessary changes
Co-authored-by: Mehmet Ozan Kabak <ozankabak@gmail.com>
2022-10-15 06:34:52 -04:00
AugustoFKL
cacdf3305f
Add support for unit on char length units for small character string types. ( #663 )
...
This results in complete support for ANSI CHARACTER, CHAR, CHARACTER VARYING,
CHAR VARYING, and VARCHAR.
2022-10-11 08:54:15 -04:00
AugustoFKL
777672625f
Replacing the two booleans from 'SET ROLE' to a single enum. ( #664 )
...
This way, we don't rely on the parser to have valid structures for that
statement, as the structure itself is valid.
2022-10-10 17:14:37 -04:00
AugustoFKL
a9939b0a4f
Enum to handle exact number precisios ( #654 )
2022-10-08 05:59:11 -04:00
AugustoFKL
a3194ddd52
Create table builder structure ( #659 )
...
* Create table builder structure
* Adding comments and examples and adjusting file structure
2022-10-07 16:57:10 -04:00
AugustoFKL
6392a216f0
Replacing 'disable-publish=true' flag by 'public=false', to allow compatibility with recent cargo-release versions ( #660 )
2022-10-07 16:56:27 -04:00