Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
539db9f
Fix `sqlparser_bench` benchmark compilation (#1625)
alamb Dec 29, 2024
3db1b44
Improve parsing speed by avoiding some clones in parse_identifier (#1…
alamb Dec 29, 2024
fe36020
Simplify `parse_keyword_apis` more (#1626)
alamb Dec 29, 2024
3bad04e
Test benchmarks and Improve benchmark README.md (#1627)
alamb Jan 1, 2025
94ea206
Add support for MYSQL's `RENAME TABLE` (#1616)
wugeer Jan 1, 2025
8bc63f0
Correctly tokenize nested comments (#1629)
hansott Jan 5, 2025
02d60cc
Add support for USE SECONDARY ROLE (vs. ROLES) (#1637)
yoavcloud Jan 5, 2025
e23877c
Add support for various Snowflake grantees (#1640)
yoavcloud Jan 5, 2025
17e22f0
Add support for the SQL OVERLAPS predicate (#1638)
yoavcloud Jan 6, 2025
4c6af0a
Add support for Snowflake LIST and REMOVE (#1639)
yoavcloud Jan 6, 2025
8cfc462
Add support for MySQL's INSERT INTO ... SET syntax (#1641)
yoavcloud Jan 6, 2025
0cd49fb
Start new line if \r in Postgres dialect (#1647)
hansott Jan 7, 2025
62bcaa1
Support pluralized time units (#1630)
wugeer Jan 8, 2025
397bceb
Replace `ReferentialAction` enum in `DROP` statements (#1648)
stepancheg Jan 8, 2025
687ce2d
Add support for MS-SQL BEGIN/END TRY/CATCH (#1649)
yoavcloud Jan 8, 2025
4fdf5e1
Fix MySQL parsing of GRANT, REVOKE, and CREATE VIEW (#1538)
mvzink Jan 9, 2025
5a761dd
Add support for the Snowflake MINUS set operator (#1652)
yoavcloud Jan 9, 2025
c54ba4d
ALTER TABLE DROP {COLUMN|CONSTRAINT} RESTRICT (#1651)
stepancheg Jan 10, 2025
b09514e
feat: support `INSERT INTO [TABLE] FUNCTION` of Clickhouse (#1633)
byte-sourcerer Jan 10, 2025
0c3b6c0
Add support for ClickHouse `FORMAT` on `INSERT` (#1628)
bombsimon Jan 10, 2025
3b4dc0f
MsSQL SET for session params (#1646)
yoavcloud Jan 11, 2025
c808c4e
Correctly look for end delimiter dollar quoted string (#1650)
hansott Jan 12, 2025
6507484
Support single line comments starting with '#' for Hive (#1654)
wugeer Jan 13, 2025
36db176
Support trailing commas in `FROM` clause (#1645)
barsela1 Jan 14, 2025
9105cae
Allow empty options for BigQuery (#1657)
MartinSahlen Jan 16, 2025
4741500
Add support for parsing RAISERROR (#1656)
AvivDavid-Satori Jan 16, 2025
b4b5576
Add support for Snowflake column aliases that use SQL keywords (#1632)
yoavcloud Jan 16, 2025
3eeb916
fix parsing of `INSERT INTO ... SELECT ... RETURNING ` (#1661)
lovasoa Jan 17, 2025
e9498d5
Add support for `IS [NOT] [form] NORMALIZED` (#1655)
alexander-beedie Jan 17, 2025
44df6d6
Add support for qualified column names in JOIN ... USING (#1663)
yoavcloud Jan 19, 2025
5da702f
Add support for Snowflake AT/BEFORE (#1667)
yoavcloud Jan 19, 2025
17d5610
Update verson to 0.54.0 and update changelog (#1668)
alamb Jan 20, 2025
e5bc3df
Update rat_exclude_file.txt (#1670)
alamb Jan 20, 2025
183274e
Add support for Snowflake account privileges (#1666)
yoavcloud Jan 20, 2025
c7c0de6
Add support for Create Iceberg Table statement for Snowflake parser (…
Vedin Jan 20, 2025
4f71542
National strings: check if dialect supports backslash escape (#1672)
hansott Jan 23, 2025
ef072be
Only support escape literals for Postgres, Redshift and generic diale…
hansott Jan 24, 2025
fd6c98e
BigQuery: Support trailing commas in column definitions list (#1682)
iffyio Jan 25, 2025
211b15e
Enhance object name path segments (#1539)
ayman-sigma Jan 26, 2025
cbe59a2
Enable GROUP BY exp for Snowflake dialect (#1683)
yoavcloud Jan 26, 2025
74163b1
Add support for parsing empty dictionary expressions (#1684)
yoavcloud Jan 26, 2025
fdbe864
Support multiple tables in `UPDATE FROM` clause (#1681)
iffyio Jan 28, 2025
f7b0812
Add support for mysql table hints (#1675)
AvivDavid-Satori Jan 28, 2025
8de3a62
BigQuery: Add support for select expr star (#1680)
iffyio Jan 28, 2025
269967a
Support underscore separators in numbers for Clickhouse. Fixes #1659 …
graup Jan 28, 2025
7980c86
BigQuery: Fix column identifier reserved keywords list (#1678)
iffyio Jan 29, 2025
784605c
Fix bug when parsing a Snowflake stage with `;` suffix (#1688)
yoavcloud Jan 29, 2025
252fdba
Allow plain JOIN without turning it into INNER (#1692)
mvzink Jan 30, 2025
a7e9840
Fix DDL generation in case of an empty arguments function. (#1690)
remysaissy Jan 30, 2025
9c384a9
Fix `CREATE FUNCTION` round trip for Hive dialect (#1693)
iffyio Jan 30, 2025
94b2ff7
Make numeric literal underscore test dialect agnostic (#1685)
iffyio Jan 30, 2025
aeaafbe
Extend lambda support for ClickHouse and DuckDB dialects (#1686)
gstvg Jan 31, 2025
447142c
Make TypedString preserve quote style (#1679)
graup Jan 31, 2025
c3256a8
Do not parse ASOF and MATCH_CONDITION as table factor aliases (#1698)
yoavcloud Feb 1, 2025
906f395
Add support for GRANT on some common Snowflake objects (#1699)
yoavcloud Feb 3, 2025
257da5a
Add RETURNS TABLE() support for CREATE FUNCTION in Postgresql (#1687)
remysaissy Feb 3, 2025
ec948ea
Add parsing for GRANT ROLE and GRANT DATABASE ROLE in Snowflake diale…
yoavcloud Feb 3, 2025
486b29f
Add support for `CREATE/ALTER/DROP CONNECTOR` syntax (#1701)
wugeer Feb 4, 2025
751dc5a
Parse Snowflake COPY INTO <location> (#1669)
yoavcloud Feb 5, 2025
443f492
Require space after -- to start single line comment in MySQL (#1705)
hansott Feb 5, 2025
0b8ba91
Add suppport for Show Objects statement for the Snowflake parser (#1702)
DanCodedThis Feb 6, 2025
86abbd6
Fix incorrect parsing of JsonAccess bracket notation after cast in Sn…
yoavcloud Feb 6, 2025
cad4923
Parse Postgres VARBIT datatype (#1703)
mvzink Feb 8, 2025
46cfcfe
Implement FROM-first selects (#1713)
mitsuhiko Feb 9, 2025
322209a
Enable custom dialects to support `MATCH() AGAINST()` (#1719)
joocer Feb 10, 2025
3e94877
Support group by cube/rollup etc in BigQuery (#1720)
Groennbeck Feb 11, 2025
a5bbb5e
Add support for MS Varbinary(MAX) (#1714) (#1715)
TylerBrinks Feb 13, 2025
1c0e5d3
Add supports for Hive's `SELECT ... GROUP BY .. GROUPING SETS` syntax…
wugeer Feb 14, 2025
68c41a9
Differentiate LEFT JOIN from LEFT OUTER JOIN (#1726)
mvzink Feb 14, 2025
c75a992
Add support for Postgres `ALTER TYPE` (#1727)
jvatic Feb 17, 2025
3e90a18
Replace `Method` and `CompositeAccess` with `CompoundFieldAccess` (#1…
iffyio Feb 19, 2025
b482562
Add support for `EXECUTE IMMEDIATE` (#1717)
iffyio Feb 19, 2025
97f0be6
Treat COLLATE like any other column option (#1731)
mvzink Feb 20, 2025
339239d
Add support for PostgreSQL/Redshift geometric operators (#1723)
benrsatori Feb 20, 2025
28736da
fix: make `serde` feature no_std (#1730)
iajoiner Feb 21, 2025
3ace97c
Implement SnowFlake ALTER SESSION (#1712)
osipovartem Feb 21, 2025
8fc8082
Extend Visitor trait for Value type (#1725)
tomershaniii Feb 22, 2025
1f1c069
Add support for `ORDER BY ALL` (#1724)
PokIsemaine Feb 22, 2025
7fc37a7
Parse casting to array using double colon operator in Redshift (#1737)
yoavcloud Feb 22, 2025
72312ba
Replace parallel condition/result vectors with single CaseWhen vector…
lovasoa Feb 22, 2025
aab12ad
BigQuery: Add support for `BEGIN` (#1718)
iffyio Feb 24, 2025
c335c88
Store spans for Value expressions (#1738)
lovasoa Feb 25, 2025
648efd7
feat: adjust create and drop trigger for mysql dialect (#1734)
invm Feb 25, 2025
de4dbc5
Parse SIGNED INTEGER type in MySQL CAST (#1739)
mvzink Feb 26, 2025
3adc746
Parse MySQL ALTER TABLE ALGORITHM option (#1745)
mvzink Feb 26, 2025
5b35001
Random test cleanups use Expr::value (#1749)
alamb Feb 27, 2025
c2914f8
Parse ALTER TABLE AUTO_INCREMENT operation for MySQL (#1748)
mvzink Feb 27, 2025
ed41654
Prepare for 55.0.0 release: Version and CHANGELOG (#1750)
alamb Feb 27, 2025
a629ddf
Ignore escaped LIKE wildcards in MySQL (#1735)
mvzink Mar 1, 2025
9e09b61
Parse SET NAMES syntax in Postgres (#1752)
mvzink Mar 1, 2025
d5dbe86
re-add support for nested comments in mssql (#1754)
lovasoa Mar 1, 2025
6ec5223
Extend support for INDEX parsing (#1707)
LucaCappelletti94 Mar 4, 2025
1e54a34
Parse MySQL `ALTER TABLE DROP FOREIGN KEY` syntax (#1762)
mvzink Mar 12, 2025
3392623
add support for `with` clauses (CTEs) in `delete` statements (#1764)
lovasoa Mar 12, 2025
85f8551
SET with a list of comma separated assignments (#1757)
MohamedAbdeen21 Mar 12, 2025
fb578bb
Preserve MySQL-style `LIMIT <offset>, <limit>` syntax (#1765)
mvzink Mar 12, 2025
cf4ab7f
Add support for `DROP MATERIALIZED VIEW` (#1743)
iffyio Mar 13, 2025
862e887
Add `CASE` and `IF` statement support (#1741)
iffyio Mar 14, 2025
f81aed6
BigQuery: Add support for `CREATE SCHEMA` options (#1742)
iffyio Mar 14, 2025
10cf7c1
Snowflake: Support dollar quoted comments (#1755)
Mar 15, 2025
da58928
Add LOCK operation for ALTER TABLE (#1768)
MohamedAbdeen21 Mar 18, 2025
e3e8829
Add support for `RAISE` statement (#1766)
iffyio Mar 18, 2025
f487cbe
Add GLOBAL context/modifier to SET statements (#1767)
MohamedAbdeen21 Mar 20, 2025
939fbdd
Parse `SUBSTR` as alias for `SUBSTRING` (#1769)
mvzink Mar 22, 2025
3a8a3bb
SET statements: scope modifier for multiple assignments (#1772)
MohamedAbdeen21 Mar 22, 2025
53aba68
Support qualified column names in `MATCH AGAINST` clause (#1774)
tomershaniii Mar 25, 2025
62495f2
Mysql: Add support for := operator (#1779)
barsela1 Mar 27, 2025
be98b30
Add cipherstash-proxy to list of users in README.md (#1782)
coderdan Mar 31, 2025
95d7b86
Fix typos (#1785)
jayvdb Mar 31, 2025
91327bb
Add support for Databricks TIMESTAMP_NTZ. (#1781)
romanb Mar 31, 2025
25bb871
Enable double-dot-notation for mssql. (#1787)
romanb Mar 31, 2025
45420ce
Fix: Snowflake ALTER SESSION cannot be followed by other statements. …
romanb Mar 31, 2025
776b10a
Add GreptimeDB to the "Users" in README (#1788)
MichaelScofield Apr 1, 2025
7efa686
Extend snowflake grant options support (#1794)
yoavcloud Apr 3, 2025
a847e44
Fix clippy lint on rust 1.86 (#1796)
iffyio Apr 4, 2025
3ed4ad9
Allow single quotes in EXTRACT() for Redshift. (#1795)
romanb Apr 4, 2025
610096c
MSSQL: Add support for functionality `MERGE` output clause (#1790)
dilovancelik Apr 5, 2025
4deed26
Support additional DuckDB integer types such as HUGEINT, UHUGEINT, et…
alexander-beedie Apr 5, 2025
0d2976d
Add support for MSSQL IF/ELSE statements. (#1791)
romanb Apr 6, 2025
cfd8951
Allow literal backslash escapes for string literals in Redshift diale…
romanb Apr 10, 2025
67c3be0
Add support for MySQL's STRAIGHT_JOIN join operator. (#1802)
romanb Apr 10, 2025
26fdf34
Merge branch 'main' into ayman/syncUpstream2
ayman-sigma Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ jobs:
uses: ./.github/actions/setup-builder
- run: cargo clippy --all-targets --all-features -- -D warnings

benchmark-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Rust Toolchain
uses: ./.github/actions/setup-builder
- run: cd sqlparser_bench && cargo clippy --all-targets --all-features -- -D warnings

compile:
runs-on: ubuntu-latest
steps:
Expand Down
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,18 @@
-->

# Changelog
All notable changes to this project will be documented in this file.
All notable changes to this project will be documented in one of the linked
files.

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Given that the parser produces a typed AST, any changes to the AST will
technically be breaking and thus will result in a `0.(N+1)` version.


- Unreleased: Check https://github.com/sqlparser-rs/sqlparser-rs/commits/main for undocumented changes.
- `0.55.0`: [changelog/0.55.0.md](changelog/0.55.0.md)
- `0.54.0`: [changelog/0.54.0.md](changelog/0.54.0.md)
- `0.53.0`: [changelog/0.53.0.md](changelog/0.53.0.md)
- `0.52.0`: [changelog/0.52.0.md](changelog/0.52.0.md)
- `0.51.0` and earlier: [changelog/0.51.0-pre.md](changelog/0.51.0-pre.md)
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
[package]
name = "sqlparser"
description = "Extensible SQL Lexer and Parser with support for ANSI SQL:2011"
version = "0.53.0"
version = "0.55.0"
authors = ["Apache DataFusion <[email protected]>"]
homepage = "https://github.com/apache/datafusion-sqlparser-rs"
documentation = "https://docs.rs/sqlparser/"
Expand Down Expand Up @@ -49,7 +49,7 @@ bigdecimal = { version = "0.4.1", features = ["serde"], optional = true }
log = "0.4"
recursive = { version = "0.1.1", optional = true}

serde = { version = "1.0", features = ["derive"], optional = true }
serde = { version = "1.0", default-features = false, features = ["derive", "alloc"], optional = true }
# serde_json is only used in examples/cli, but we have to put it outside
# of dev-dependencies because of
# https://github.com/rust-lang/cargo/issues/1596
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ println!("AST: {:?}", ast);
This outputs

```rust
AST: [Query(Query { ctes: [], body: Select(Select { distinct: false, projection: [UnnamedExpr(Identifier("a")), UnnamedExpr(Identifier("b")), UnnamedExpr(Value(Long(123))), UnnamedExpr(Function(Function { name: ObjectName(["myfunc"]), args: [Identifier("b")], filter: None, over: None, distinct: false }))], from: [TableWithJoins { relation: Table { name: ObjectName(["table_1"]), alias: None, args: [], with_hints: [] }, joins: [] }], selection: Some(BinaryOp { left: BinaryOp { left: Identifier("a"), op: Gt, right: Identifier("b") }, op: And, right: BinaryOp { left: Identifier("b"), op: Lt, right: Value(Long(100)) } }), group_by: [], having: None }), order_by: [OrderByExpr { expr: Identifier("a"), asc: Some(false) }, OrderByExpr { expr: Identifier("b"), asc: None }], limit: None, offset: None, fetch: None })]
AST: [Query(Query { ctes: [], body: Select(Select { distinct: false, projection: [UnnamedExpr(Identifier("a")), UnnamedExpr(Identifier("b")), UnnamedExpr(Value(Long(123))), UnnamedExpr(Function(Function { name:ObjectName([Identifier(Ident { value: "myfunc", quote_style: None })]), args: [Identifier("b")], filter: None, over: None, distinct: false }))], from: [TableWithJoins { relation: Table { name: ObjectName([Identifier(Ident { value: "table_1", quote_style: None })]), alias: None, args: [], with_hints: [] }, joins: [] }], selection: Some(BinaryOp { left: BinaryOp { left: Identifier("a"), op: Gt, right: Identifier("b") }, op: And, right: BinaryOp { left: Identifier("b"), op: Lt, right: Value(Long(100)) } }), group_by: [], having: None }), order_by: [OrderByExpr { expr: Identifier("a"), asc: Some(false) }, OrderByExpr { expr: Identifier("b"), asc: None }], limit: None, offset: None, fetch: None })]
```


Expand Down Expand Up @@ -156,7 +156,8 @@ $ cargo run --features json_example --example cli FILENAME.sql [--dialectname]
## Users

This parser is currently being used by the [DataFusion] query engine, [LocustDB],
[Ballista], [GlueSQL], [Opteryx], [Polars], [PRQL], [Qrlew], [JumpWire], and [ParadeDB].
[Ballista], [GlueSQL], [Opteryx], [Polars], [PRQL], [Qrlew], [JumpWire], [ParadeDB], [CipherStash Proxy],
and [GreptimeDB].

If your project is using sqlparser-rs feel free to make a PR to add it
to this list.
Expand Down Expand Up @@ -275,3 +276,5 @@ licensed as above, without any additional terms or conditions.
[sql-standard]: https://en.wikipedia.org/wiki/ISO/IEC_9075
[`Dialect`]: https://docs.rs/sqlparser/latest/sqlparser/dialect/trait.Dialect.html
[`GenericDialect`]: https://docs.rs/sqlparser/latest/sqlparser/dialect/struct.GenericDialect.html
[CipherStash Proxy]: https://github.com/cipherstash/proxy
[GreptimeDB]: https://github.com/GreptimeTeam/greptimedb
118 changes: 118 additions & 0 deletions changelog/0.54.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->

# sqlparser-rs 0.54.0 Changelog

This release consists of 57 commits from 24 contributors. See credits at the end of this changelog for more information.

**Implemented enhancements:**

- feat: support `INSERT INTO [TABLE] FUNCTION` of Clickhouse [#1633](https://github.com/apache/datafusion-sqlparser-rs/pull/1633) (byte-sourcerer)

**Other:**

- Run cargo fmt on `derive` crate [#1595](https://github.com/apache/datafusion-sqlparser-rs/pull/1595) (alamb)
- Add Apache license header to spans.rs [#1594](https://github.com/apache/datafusion-sqlparser-rs/pull/1594) (alamb)
- Add support for BigQuery `ANY TYPE` data type [#1602](https://github.com/apache/datafusion-sqlparser-rs/pull/1602) (MartinSahlen)
- Add support for TABLESAMPLE [#1580](https://github.com/apache/datafusion-sqlparser-rs/pull/1580) (yoavcloud)
- Redshift: Fix parsing for quoted numbered columns [#1576](https://github.com/apache/datafusion-sqlparser-rs/pull/1576) (7phs)
- Add the alter table ON COMMIT option to Snowflake [#1606](https://github.com/apache/datafusion-sqlparser-rs/pull/1606) (yoavcloud)
- Support parsing `EXPLAIN ESTIMATE` of Clickhouse [#1605](https://github.com/apache/datafusion-sqlparser-rs/pull/1605) (byte-sourcerer)
- Fix BigQuery hyphenated ObjectName with numbers [#1598](https://github.com/apache/datafusion-sqlparser-rs/pull/1598) (ayman-sigma)
- Fix test compilation issue [#1609](https://github.com/apache/datafusion-sqlparser-rs/pull/1609) (iffyio)
- Allow foreign table constraint without columns [#1608](https://github.com/apache/datafusion-sqlparser-rs/pull/1608) (ramnivas)
- Support optional table for `ANALYZE` statement [#1599](https://github.com/apache/datafusion-sqlparser-rs/pull/1599) (yuyang-ok)
- Support DOUBLE data types with precision for Mysql [#1611](https://github.com/apache/datafusion-sqlparser-rs/pull/1611) (artorias1024)
- Add `#[recursive]` [#1522](https://github.com/apache/datafusion-sqlparser-rs/pull/1522) (blaginin)
- Support arbitrary composite access expressions [#1600](https://github.com/apache/datafusion-sqlparser-rs/pull/1600) (ayman-sigma)
- Consolidate `MapAccess`, and `Subscript` into `CompoundExpr` to handle the complex field access chain [#1551](https://github.com/apache/datafusion-sqlparser-rs/pull/1551) (goldmedal)
- Handle empty projection in Postgres SELECT statements [#1613](https://github.com/apache/datafusion-sqlparser-rs/pull/1613) (tobyhede)
- Merge composite and compound expr test cases [#1615](https://github.com/apache/datafusion-sqlparser-rs/pull/1615) (iffyio)
- Support Snowflake Update-From-Select [#1604](https://github.com/apache/datafusion-sqlparser-rs/pull/1604) (yuval-illumex)
- Improve parsing performance by reducing token cloning [#1587](https://github.com/apache/datafusion-sqlparser-rs/pull/1587) (davisp)
- Improve Parser documentation [#1617](https://github.com/apache/datafusion-sqlparser-rs/pull/1617) (alamb)
- Add support for DROP EXTENSION [#1610](https://github.com/apache/datafusion-sqlparser-rs/pull/1610) (ramnivas)
- Refactor advancing token to avoid duplication, avoid borrow checker issues [#1618](https://github.com/apache/datafusion-sqlparser-rs/pull/1618) (alamb)
- Fix the parsing result for the special double number [#1621](https://github.com/apache/datafusion-sqlparser-rs/pull/1621) (goldmedal)
- SQLite: Allow dollar signs in placeholder names [#1620](https://github.com/apache/datafusion-sqlparser-rs/pull/1620) (hansott)
- Improve error for an unexpected token after DROP [#1623](https://github.com/apache/datafusion-sqlparser-rs/pull/1623) (ramnivas)
- Fix `sqlparser_bench` benchmark compilation [#1625](https://github.com/apache/datafusion-sqlparser-rs/pull/1625) (alamb)
- Improve parsing speed by avoiding some clones in parse_identifier [#1624](https://github.com/apache/datafusion-sqlparser-rs/pull/1624) (alamb)
- Simplify `parse_keyword_apis` more [#1626](https://github.com/apache/datafusion-sqlparser-rs/pull/1626) (alamb)
- Test benchmarks and Improve benchmark README.md [#1627](https://github.com/apache/datafusion-sqlparser-rs/pull/1627) (alamb)
- Add support for MYSQL's `RENAME TABLE` [#1616](https://github.com/apache/datafusion-sqlparser-rs/pull/1616) (wugeer)
- Correctly tokenize nested comments [#1629](https://github.com/apache/datafusion-sqlparser-rs/pull/1629) (hansott)
- Add support for USE SECONDARY ROLE (vs. ROLES) [#1637](https://github.com/apache/datafusion-sqlparser-rs/pull/1637) (yoavcloud)
- Add support for various Snowflake grantees [#1640](https://github.com/apache/datafusion-sqlparser-rs/pull/1640) (yoavcloud)
- Add support for the SQL OVERLAPS predicate [#1638](https://github.com/apache/datafusion-sqlparser-rs/pull/1638) (yoavcloud)
- Add support for Snowflake LIST and REMOVE [#1639](https://github.com/apache/datafusion-sqlparser-rs/pull/1639) (yoavcloud)
- Add support for MySQL's INSERT INTO ... SET syntax [#1641](https://github.com/apache/datafusion-sqlparser-rs/pull/1641) (yoavcloud)
- Start new line if \r in Postgres dialect [#1647](https://github.com/apache/datafusion-sqlparser-rs/pull/1647) (hansott)
- Support pluralized time units [#1630](https://github.com/apache/datafusion-sqlparser-rs/pull/1630) (wugeer)
- Replace `ReferentialAction` enum in `DROP` statements [#1648](https://github.com/apache/datafusion-sqlparser-rs/pull/1648) (stepancheg)
- Add support for MS-SQL BEGIN/END TRY/CATCH [#1649](https://github.com/apache/datafusion-sqlparser-rs/pull/1649) (yoavcloud)
- Fix MySQL parsing of GRANT, REVOKE, and CREATE VIEW [#1538](https://github.com/apache/datafusion-sqlparser-rs/pull/1538) (mvzink)
- Add support for the Snowflake MINUS set operator [#1652](https://github.com/apache/datafusion-sqlparser-rs/pull/1652) (yoavcloud)
- ALTER TABLE DROP {COLUMN|CONSTRAINT} RESTRICT [#1651](https://github.com/apache/datafusion-sqlparser-rs/pull/1651) (stepancheg)
- Add support for ClickHouse `FORMAT` on `INSERT` [#1628](https://github.com/apache/datafusion-sqlparser-rs/pull/1628) (bombsimon)
- MsSQL SET for session params [#1646](https://github.com/apache/datafusion-sqlparser-rs/pull/1646) (yoavcloud)
- Correctly look for end delimiter dollar quoted string [#1650](https://github.com/apache/datafusion-sqlparser-rs/pull/1650) (hansott)
- Support single line comments starting with '#' for Hive [#1654](https://github.com/apache/datafusion-sqlparser-rs/pull/1654) (wugeer)
- Support trailing commas in `FROM` clause [#1645](https://github.com/apache/datafusion-sqlparser-rs/pull/1645) (barsela1)
- Allow empty options for BigQuery [#1657](https://github.com/apache/datafusion-sqlparser-rs/pull/1657) (MartinSahlen)
- Add support for parsing RAISERROR [#1656](https://github.com/apache/datafusion-sqlparser-rs/pull/1656) (AvivDavid-Satori)
- Add support for Snowflake column aliases that use SQL keywords [#1632](https://github.com/apache/datafusion-sqlparser-rs/pull/1632) (yoavcloud)
- fix parsing of `INSERT INTO ... SELECT ... RETURNING ` [#1661](https://github.com/apache/datafusion-sqlparser-rs/pull/1661) (lovasoa)
- Add support for `IS [NOT] [form] NORMALIZED` [#1655](https://github.com/apache/datafusion-sqlparser-rs/pull/1655) (alexander-beedie)
- Add support for qualified column names in JOIN ... USING [#1663](https://github.com/apache/datafusion-sqlparser-rs/pull/1663) (yoavcloud)
- Add support for Snowflake AT/BEFORE [#1667](https://github.com/apache/datafusion-sqlparser-rs/pull/1667) (yoavcloud)

## Credits

Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.

```
13 Yoav Cohen
9 Andrew Lamb
4 Hans Ott
3 Ramnivas Laddad
3 wugeer
2 Ayman Elkfrawy
2 Ifeanyi Ubah
2 Jax Liu
2 Martin Abelson Sahlen
2 Stepan Koltsov
2 cjw
1 Aleksei Piianin
1 Alexander Beedie
1 AvivDavid-Satori
1 Dmitrii Blaginin
1 Michael Victor Zink
1 Ophir LOJKINE
1 Paul J. Davis
1 Simon Sawert
1 Toby Hede
1 Yuval Shkolar
1 artorias1024
1 bar sela
1 yuyang
```

Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.

Loading