Commit graph

584 commits

Author SHA1 Message Date
AugustoFKL
3beecc0a7a
Correct order of arguments in LIMIT x,y , restrict to MySql and generic dialects (#642)
* 613 Fixing MySQL LIMIT syntax

* 613 Reducing logic to real case scenario

* 613 Adding syntax to generic dialect
2022-10-01 17:23:06 -04:00
AugustoFKL
fb5a9747ae
Support optional precision for CLOB and BLOB (#639)
* 638 Adjusting CLOB and BLOB with optional precision

* 638 Adding integration tests to increase coverage

* 638 Adjusting BLOB test
2022-10-01 17:15:47 -04:00
AugustoFKL
300e28bd85
636 Adjusting VARBINARY and BINARY with optional precision (#637) 2022-10-01 16:52:44 -04:00
Sarah Yurick
d87408bdaf
Parse MILLENNIUM (#633)
* add unknown, is not true/false/unknown

* millennium
2022-09-28 16:26:29 -04:00
AugustoFKL
e951cd5278
#625 adding mediumint support (#630) 2022-09-28 16:26:17 -04:00
ding-young
6c8f31c367
Fix parsing CLOB, BINARY, VARBINARY, BLOB data type (#618)
* fix(parser): parse clob, binary, varbinary, blob data type

* feat(tests): parse_cast tests for LOB, BINARY datatype
2022-09-28 07:02:30 -04:00
Ben Cook
91087fcba0
Support CREATE ROLE and DROP ROLE (#598)
* Parse GRANT ROLE and DROP ROLE

* Gate create role on dialect

* cargo fmt

* clippy

* no-std

* clippy again
2022-09-27 09:58:36 -04:00
Ophir LOJKINE
604f755a59
Fix parse error on some prepared statement placeholders (#604)
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
2022-09-27 09:58:26 -04:00
ding-young
3ac1bb5b80
Move Value::Interval to Expr::Interval (#609)
* refactor(value): convert Value::Interval to Expr::Interval

* test(sqlparser_common): modify test case

* refactor(parser): rename func parse_interval

* refactor(tests) rename parse_interval test func
2022-09-27 09:30:48 -04:00
Maciej Skrzypkowski
d4e5b4d5e8
Support National string literal with lower case n (#612)
* National string literal with lower case n

It's used by Snowflake

* Corrected DB name

Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
2022-09-27 09:07:13 -04:00
Alex Qyoun-ae
0724ef13a4
Box Query in Cte (#572) 2022-09-27 09:03:58 -04:00
Daniël Heres
39761b0599
Add optional format for explain (#621)
* Add format for explain

* Add comment
2022-09-26 07:22:03 -04:00
Justin Joyce
495ab59aad
Support SHOW FUNCTIONS (#620)
* support SHOW FUNCTIONS

* Update keywords.rs

* Update mod.rs

* Update sqlparser_common.rs

* Fix CI issues
2022-09-26 08:33:53 +02:00
Wei-Ting Kuo
fccae77c5e
support "set time zone to 'some-timezone'" (#617)
* support "set time zone"

* fix clippy

* fix test cases
2022-09-20 09:44:51 -04:00
Alex Qyoun-ae
0bb49cea99
feat: Support LOCALTIME and LOCALTIMESTAMP time functions (#592) 2022-08-30 10:15:39 -06:00
Ayush Dattagupta
6f55dead53
Add overlay expr (#594)
* Add PLACING keyword to keywords list

* Add high level overlay expr to Expr enum

* Add parsing logic for overlay op

* add ovleray and is not true/false/unknown tests
2022-08-26 15:13:25 -06:00
Wei-Ting Kuo
95fbb55f2c
add with/without time zone (#589) 2022-08-26 15:11:21 -06:00
Dmitry Patsura
6d8aacd85b
feat: Support expression in SET statement (#574)
Co-authored-by: Alex Vasilev <vaspiring@gmail.com>
2022-08-18 13:29:55 -04:00
Andy Grove
eb7f1b005e
Parse LIKE patterns as Expr not Value (#579) 2022-08-18 10:02:54 -06:00
Ayush Dattagupta
42c5d43b45
Support TRIM from with optional FROM clause (#573)
* Split trimwhereFlag and trim_char expr to seperate members of Expr::Trim

* update trim parsing logic to handle no flag + char from expr combo

* add tests

* Allow trim flag without trim_what expr

* Add trim flag without trim_what test
2022-08-15 17:58:43 -04:00
Alex Qyoun-ae
31ba0012f7
Support PostgreSQL array subquery constructor (#566) 2022-08-12 14:08:56 -04:00
Ayush Dattagupta
f07063f0cd
Support for SIMILAR TO syntax, change Like and ILike to Expr variants, allow escape char for like/ilike (#569)
* Remove [not]like,[not]ilike from binary operator list

* Add like, ilike and similar as an expr variant. Also adds support for escape char to like/ilike

* Add parsing logic for similar to, update parsing logic for like/ilike

* Add tests for similar to, update tests for like/ilike

* Fix linter warnings

* remove additional copyright license from files

* Add more coverage w/wo escape char for like,ilike,similar to
2022-08-11 15:44:26 -04:00
Dmitry Patsura
54a29e872d
feat: Parse special keywords as functions (current_user, user, etc) (#561)
* feat: Parse special keywors as functions (current_user, user, etc)

* explain special field
2022-08-11 08:30:06 -04:00
Alex Qyoun-ae
8176561100
Support expressions in LIMIT/OFFSET (#567) 2022-08-11 06:50:18 -04:00
Dmitry Patsura
6c98228e71
feat: Allow to use >> and << binary operators in Generic dialect (#553) 2022-08-05 06:25:57 -04:00
Wei-Ting Kuo
076b587bb2
Support NestedJoin with an alias (#551)
* add alias for nestedjoin

* fmt

* add/modify test cases

* inline nestedjoin instead of macro
2022-08-03 19:41:15 -04:00
Andy Richardson
16af309c74
Add support for ClickHouse DDL query syntax (on cluster) (#527)
* Add on_cluster to Statement::CreateTable

* Add printing of on_cluster

* Update src/ast/mod.rs

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* Fix fmt + nostd

* Remove unintended diff

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-07-28 14:44:05 -04:00
Chris Allen
7cbbd9188e
Add support for AT TIME ZONE (#539)
* Support for empty array literals

* Added support for AT TIME ZONE

Co-authored-by: Chris Allen <chrisa@indeed.com>
2022-07-18 13:03:01 -04:00
Maciej Obuchowski
4706d8b1d2
delete: add using clause, possibility of using aliases (#541)
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
2022-07-18 10:29:03 -04:00
5tan
dea7666086
Boxed Query body to save some stack space (#540) 2022-07-16 07:22:45 -04:00
Maciej Obuchowski
5363d4e399
create table: add clone syntax (#542)
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
2022-07-16 07:17:02 -04:00
sivchari
68768530cd
feat: Add WITH OFFSET Alias (#528)
* feat: Add WITH OFFSET Alias

* update: fix with_offset_alias type
2022-06-29 13:29:44 -04:00
Andrey Frolov
c884fbc388
add more consistency in ast (#523)
* add more consistency in ast

* refactor styling
2022-06-14 17:02:03 -04:00
Yoshi Togami
d981f70143
fix: Support expr instead of string for argument to interval (#517)
* fix: use expr instead of string in interval

* chore: resolve CI

Co-authored-by: togami2864 <yoshiaki.togami@plaid.co.jp>
2022-06-13 08:35:06 -04:00
Dmitry Patsura
d361c3a3a1
feat: Support CLOSE (cursors) (#515) 2022-06-06 16:09:17 -04:00
Yoshiyuki Komazaki
d19d955d9b
Support DATETIME keyword (#512) 2022-06-04 14:19:57 -04:00
sivchari
aa46e930c5
Support UNNEST as a table factor (#493)
* support unnest

* add test

* fix ast

* Update condition for BigQueryDialect or GenericDialect

I updated condition.
This changes conditionalize parsing for only BigQueryDialect or GenericDialect.

* Add some tests

* fix test
2022-05-27 06:27:51 -04:00
Riccardo Azzolini
0fa812bd2b
Fix parsing of COLLATE after parentheses in expressions (#507) 2022-05-25 16:10:38 -04:00
Riccardo Azzolini
901f5b974f
Distinguish between tables and nullary functions in FROM (#506) 2022-05-25 16:01:13 -04:00
Maciej Skrzypkowski
cd66034a4a
MERGE INTO semicolon handling (#508)
* SGA-4181 MERGE INTO semicolon handling

* fixed lint warning

Co-authored-by: Maciej Skrzypkowski <maciej.skrzypkowski@satoricyber.com>
2022-05-25 15:48:15 -04:00
Dmitry Patsura
4070f3ec6e
feat: Convert IS TRUE|FALSE to expression (#499) 2022-05-24 09:26:50 -04:00
George Andronchik
a6d7a35dac
feat: support DISCARD [ALL | PLANS | SEQUENCES | TEMPORARY | TEMP] (#500) 2022-05-22 15:44:53 -04:00
Maciej Obuchowski
7ab30d95b0
hive: add support for array<> (#491)
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-05-22 15:38:24 -04:00
Yoshiyuki Komazaki
97a148aee4
Add BigQuery dialect (#490) 2022-05-10 10:25:27 -04:00
Maciej Skrzypkowski
9750841a66
Parse merge source as table factor (#483)
* 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>
2022-05-10 06:34:45 -04:00
Alex Qyoun-ae
6b2fc8102f
feat: Support TABLE keyword with SELECT INTO (#487) 2022-05-09 14:29:43 -04:00
Maciej Obuchowski
835bb2f9ad
into keyword is optional (#473)
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
2022-05-09 13:08:24 -04:00
Dmitry Patsura
8ef5fc8624
feat: Support ANY/ALL operators (#477)
* feat: Support ANY/ALL operators

* fix lint
2022-05-06 13:32:04 -04:00
yuval-illumex
7732c34b19
Add support in IS boolean filter (#474)
* Add support in IS TRUE IS FALSE

* Fix lint

* Add test for is false
2022-05-02 14:02:28 -04:00
Maciej Obuchowski
525ba527bb
snowflake: add qualify expression (#465)
Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
2022-04-29 14:11:11 -04:00