From 02097a8cc593e26976d8da587f3eaa74c9bde1e8 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 3 Nov 2026 15:36:21 -0500 Subject: [PATCH 1/2] chore: Bump version to 0.64.0 and add changelog Co-Authored-By: Claude Fable 5.1 --- Cargo.lock | 4 +- Cargo.toml | 4 +- changelog/0.64.0.md | 246 ++++++++++++++++++++++++++++++++++++++++++++ derive/Cargo.toml | 2 +- 4 files changed, 251 insertions(+), 5 deletions(-) create mode 100644 changelog/0.64.0.md diff --git a/Cargo.lock b/Cargo.lock index ce338b59c8..8427c638a7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -636,7 +636,7 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "sqlparser" -version = "0.63.0" +version = "0.64.0" dependencies = [ "bigdecimal", "log", @@ -659,7 +659,7 @@ dependencies = [ [[package]] name = "sqlparser_derive" -version = "0.6.0" +version = "0.7.0" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 8b1ab55dd3..97b4612c3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ [package] name = "sqlparser" description = "Extensible SQL Lexer and Parser with support for ANSI SQL:2011" -version = "0.63.0" +version = "0.64.0" authors = ["Apache DataFusion "] documentation = "https://docs.rs/sqlparser/" keywords = ["ansi", "sql", "lexer", "parser"] @@ -71,7 +71,7 @@ serde = { version = "1.0", default-features = false, features = ["derive", "allo # of dev-dependencies because of # https://github.com/rust-lang/cargo/issues/1596 serde_json = { version = "1.0", optional = true } -sqlparser_derive = { version = "0.6.0", path = "derive", optional = true } +sqlparser_derive = { version = "0.7.0", path = "derive", optional = true } [dev-dependencies] simple_logger = "5.0" diff --git a/changelog/0.64.0.md b/changelog/0.64.0.md new file mode 100644 index 0000000000..9a4deaa488 --- /dev/null +++ b/changelog/0.64.0.md @@ -0,0 +1,246 @@ + + +# sqlparser-rs 0.64.0 Changelog + +This release consists of 183 commits from 19 contributors. See credits at the end of this changelog for more information. + +**Breaking changes:** + +- Add `Comments::find_before` [#2691](https://github.com/apache/datafusion-sqlparser-rs/pull/2691) (LucaCappelletti94) +- Refactoring: Merge the `IN` expression variants into `Expr::In` [#2679](https://github.com/apache/datafusion-sqlparser-rs/pull/2679) (LucaCappelletti94) +- MsSql: Keep the comma separator when displaying DECLARE lists [#2671](https://github.com/apache/datafusion-sqlparser-rs/pull/2671) (LucaCappelletti94) +- SQLite: Support `INDEXED BY` and `NOT INDEXED` [#2687](https://github.com/apache/datafusion-sqlparser-rs/pull/2687) (LucaCappelletti94) +- PostgreSQL, ClickHouse: Keep custom data type modifiers re-parseable with a typed list [#2676](https://github.com/apache/datafusion-sqlparser-rs/pull/2676) (LucaCappelletti94) +- SQLite: Support `IN` with a table name or table-valued function [#2680](https://github.com/apache/datafusion-sqlparser-rs/pull/2680) (LucaCappelletti94) +- PostgreSQL, Snowflake: Keep the signature in `GRANT` and `REVOKE ON FUNCTION` [#2727](https://github.com/apache/datafusion-sqlparser-rs/pull/2727) (LucaCappelletti94) +- PostgreSQL: Support ALTER TABLE ATTACH PARTITION [#2749](https://github.com/apache/datafusion-sqlparser-rs/pull/2749) (LucaCappelletti94) +- PostgreSQL: Support DROP and COMMENT ON FOREIGN TABLE [#2746](https://github.com/apache/datafusion-sqlparser-rs/pull/2746) (LucaCappelletti94) +- Keep the parentheses of an empty CREATE PROCEDURE parameter list [#2756](https://github.com/apache/datafusion-sqlparser-rs/pull/2756) (LucaCappelletti94) +- PostgreSQL: Support `BEGIN ATOMIC` function bodies [#2728](https://github.com/apache/datafusion-sqlparser-rs/pull/2728) (LucaCappelletti94) +- PostgreSQL: Support INHERITS in CREATE FOREIGN TABLE [#2752](https://github.com/apache/datafusion-sqlparser-rs/pull/2752) (LucaCappelletti94) +- PostgreSQL: Parse `ROUTINE` and `ALL PROCEDURES | ROUTINES IN SCHEMA` grant targets [#2761](https://github.com/apache/datafusion-sqlparser-rs/pull/2761) (LucaCappelletti94) +- PostgreSQL: Support ONLY and * table inheritance markers [#2770](https://github.com/apache/datafusion-sqlparser-rs/pull/2770) (LucaCappelletti94) +- PostgreSQL: Support CREATE USER MAPPING [#2751](https://github.com/apache/datafusion-sqlparser-rs/pull/2751) (LucaCappelletti94) +- PostgreSQL: Support REFRESH MATERIALIZED VIEW [#2769](https://github.com/apache/datafusion-sqlparser-rs/pull/2769) (LucaCappelletti94) +- PostgreSQL: Support BEGIN ATOMIC procedure bodies [#2773](https://github.com/apache/datafusion-sqlparser-rs/pull/2773) (LucaCappelletti94) +- PostgreSQL: Support ALTER FOREIGN TABLE [#2745](https://github.com/apache/datafusion-sqlparser-rs/pull/2745) (LucaCappelletti94) +- PostgreSQL: Support PARTITION OF in CREATE FOREIGN TABLE [#2753](https://github.com/apache/datafusion-sqlparser-rs/pull/2753) (LucaCappelletti94) + +**Implemented enhancements:** + +- SQLite: Do not tokenize `N'...'` as a national string literal [#2561](https://github.com/apache/datafusion-sqlparser-rs/pull/2561) (LucaCappelletti94) +- SQLite: Support `CAST(expr AS)` without a type name [#2558](https://github.com/apache/datafusion-sqlparser-rs/pull/2558) (LucaCappelletti94) +- SQLite: Support string literals as column names in `CREATE TABLE` [#2560](https://github.com/apache/datafusion-sqlparser-rs/pull/2560) (LucaCappelletti94) +- ClickHouse: Support ON CLUSTER and SETTINGS in DELETE and UPDATE [#2617](https://github.com/apache/datafusion-sqlparser-rs/pull/2617) (jordiori) +- Assert exact errors in negative tests (3/4): dialect tests [#2630](https://github.com/apache/datafusion-sqlparser-rs/pull/2630) (LucaCappelletti94) +- Assert exact errors in negative tests (4/4): deny clippy::assertions_on_result_states [#2631](https://github.com/apache/datafusion-sqlparser-rs/pull/2631) (LucaCappelletti94) +- Add `Dialect::supports_cte_materialization` and enable it for DuckDB [#2651](https://github.com/apache/datafusion-sqlparser-rs/pull/2651) (adriangb) +- SQLite: Support a parenthesized table name in `FROM` [#2658](https://github.com/apache/datafusion-sqlparser-rs/pull/2658) (LucaCappelletti94) +- Deny `clippy::dbg_macro and clippy::todo` [#2654](https://github.com/apache/datafusion-sqlparser-rs/pull/2654) (LucaCappelletti94) +- PostgreSQL: Parse an empty SELECT target list without FROM [#2675](https://github.com/apache/datafusion-sqlparser-rs/pull/2675) (LucaCappelletti94) +- PostgreSQL: Parse custom typed string literals [#2689](https://github.com/apache/datafusion-sqlparser-rs/pull/2689) (LucaCappelletti94) +- SQLite: Support `ON` and `USING` after a comma join [#2667](https://github.com/apache/datafusion-sqlparser-rs/pull/2667) (LucaCappelletti94) +- SQLite, DuckDB: Support aggregate `ORDER BY` without arguments [#2660](https://github.com/apache/datafusion-sqlparser-rs/pull/2660) (LucaCappelletti94) +- Accept `CREATE SEQUENCE` options in any order [#2414](https://github.com/apache/datafusion-sqlparser-rs/pull/2414) (LucaCappelletti94) +- Postgres: support WHERE index_predicate in the ON CONFLICT target [#2627](https://github.com/apache/datafusion-sqlparser-rs/pull/2627) (zvonimir-dd) +- SQLite: Support `<<` and `>>` bitwise shift operators [#2657](https://github.com/apache/datafusion-sqlparser-rs/pull/2657) (LucaCappelletti94) +- PostgreSQL: add support for CREATE AGGREGATE [#2316](https://github.com/apache/datafusion-sqlparser-rs/pull/2316) (fmguerreiro) +- Add support for PostgreSQL `CREATE RULE` [#2433](https://github.com/apache/datafusion-sqlparser-rs/pull/2433) (LucaCappelletti94) +- PostgreSQL: Support CREATE FOREIGN DATA WRAPPER [#2317](https://github.com/apache/datafusion-sqlparser-rs/pull/2317) (fmguerreiro) +- PostgreSQL: Parse GRANT of role membership [#2732](https://github.com/apache/datafusion-sqlparser-rs/pull/2732) (LucaCappelletti94) +- PostgreSQL: Parse WITH options of a role membership GRANT [#2733](https://github.com/apache/datafusion-sqlparser-rs/pull/2733) (LucaCappelletti94) +- PostgreSQL: Parse NULLS [NOT] DISTINCT on column UNIQUE constraints [#2738](https://github.com/apache/datafusion-sqlparser-rs/pull/2738) (LucaCappelletti94) +- MySQL: Parse USING index type before PRIMARY KEY and UNIQUE columns [#2739](https://github.com/apache/datafusion-sqlparser-rs/pull/2739) (LucaCappelletti94) +- PostgreSQL: Parse REVOKE of role membership [#2735](https://github.com/apache/datafusion-sqlparser-rs/pull/2735) (LucaCappelletti94) +- PostgreSQL: Parse OPTION FOR in a role membership REVOKE [#2736](https://github.com/apache/datafusion-sqlparser-rs/pull/2736) (LucaCappelletti94) +- PostgreSQL: Parse a grantee after `PUBLIC` in `GRANT` and `REVOKE` [#2741](https://github.com/apache/datafusion-sqlparser-rs/pull/2741) (LucaCappelletti94) +- PostgreSQL: parse `CREATE GROUP` [#2429](https://github.com/apache/datafusion-sqlparser-rs/pull/2429) (LucaCappelletti94) +- PostgreSQL: Parse := named function arguments [#2774](https://github.com/apache/datafusion-sqlparser-rs/pull/2774) (LucaCappelletti94) +- PostgreSQL: parse `DROP GROUP` [#2712](https://github.com/apache/datafusion-sqlparser-rs/pull/2712) (LucaCappelletti94) +- PostgreSQL: Support `ALTER TABLE ... RESET` and storage parameters without a value [#2744](https://github.com/apache/datafusion-sqlparser-rs/pull/2744) (LucaCappelletti94) +- PostgreSQL: Accept CREATE EXTENSION options without WITH and in any order [#2742](https://github.com/apache/datafusion-sqlparser-rs/pull/2742) (LucaCappelletti94) +- Parse SQLite's `IS` and `IS NOT` operators [#2470](https://github.com/apache/datafusion-sqlparser-rs/pull/2470) (LucaCappelletti94) +- PostgreSQL: Support ALTER VIEW operations [#2730](https://github.com/apache/datafusion-sqlparser-rs/pull/2730) (LucaCappelletti94) +- Add support for PostgreSQL `DROP RULE` [#2434](https://github.com/apache/datafusion-sqlparser-rs/pull/2434) (LucaCappelletti94) +- Support PostgreSQL `ALTER DEFAULT PRIVILEGES` [#2417](https://github.com/apache/datafusion-sqlparser-rs/pull/2417) (LucaCappelletti94) +- PostgreSQL: Support ALTER MATERIALIZED VIEW [#2776](https://github.com/apache/datafusion-sqlparser-rs/pull/2776) (LucaCappelletti94) + +**Fixed bugs:** + +- Fix `TABLE` command identifier quoting and token consumption [#2540](https://github.com/apache/datafusion-sqlparser-rs/pull/2540) (LucaCappelletti94) +- PostgreSQL: Fix spacing between adjacent postfix factorial operators [#2538](https://github.com/apache/datafusion-sqlparser-rs/pull/2538) (LucaCappelletti94) +- Escape quotes when displaying `Word` tokens [#2544](https://github.com/apache/datafusion-sqlparser-rs/pull/2544) (LucaCappelletti94) +- PostgreSQL: Render prefix |/ and ||/ operators with a space [#2545](https://github.com/apache/datafusion-sqlparser-rs/pull/2545) (LucaCappelletti94) +- Generic: Fix quote escaping when displaying hex string literals [#2542](https://github.com/apache/datafusion-sqlparser-rs/pull/2542) (LucaCappelletti94) +- Snowflake: Fix stage delimiter handling and gate stage table factor on dialect [#2536](https://github.com/apache/datafusion-sqlparser-rs/pull/2536) (LucaCappelletti94) +- Generic: Fix quote escaping when displaying byte and raw string literals [#2537](https://github.com/apache/datafusion-sqlparser-rs/pull/2537) (LucaCappelletti94) +- Generic: Disallow quoted identifiers in colon and at-sign placeholders [#2539](https://github.com/apache/datafusion-sqlparser-rs/pull/2539) (LucaCappelletti94) +- DuckDB: Support nested block comments [#2584](https://github.com/apache/datafusion-sqlparser-rs/pull/2584) (LucaCappelletti94) +- Generic: Render prefix `!` operator with space before operator characters [#2541](https://github.com/apache/datafusion-sqlparser-rs/pull/2541) (LucaCappelletti94) +- MsSql: Disallow unquoted `FROM` keyword as alias assignment expression [#2546](https://github.com/apache/datafusion-sqlparser-rs/pull/2546) (LucaCappelletti94) +- Generic: Add spacing around dot in compound field access adjacent to numbers [#2543](https://github.com/apache/datafusion-sqlparser-rs/pull/2543) (LucaCappelletti94) +- SQLite: support == as assignment operator in UPDATE SET [#2552](https://github.com/apache/datafusion-sqlparser-rs/pull/2552) (LucaCappelletti94) +- Generic: Parse IN lists that start with a parenthesized subquery [#2586](https://github.com/apache/datafusion-sqlparser-rs/pull/2586) (LucaCappelletti94) +- SQLite: Support identifier characters above U+FFFF [#2555](https://github.com/apache/datafusion-sqlparser-rs/pull/2555) (LucaCappelletti94) +- Parser: fix exponential parse time on nested POSITION calls [#2619](https://github.com/apache/datafusion-sqlparser-rs/pull/2619) (fmcmac) +- Assert exact errors in negative tests (1/4): PostgreSQL tests [#2628](https://github.com/apache/datafusion-sqlparser-rs/pull/2628) (LucaCappelletti94) +- Assert exact errors in negative tests (2/4): common and parser unit tests [#2629](https://github.com/apache/datafusion-sqlparser-rs/pull/2629) (LucaCappelletti94) +- SQLite: Support comma-separated WITHOUT ROWID and STRICT table options [#2575](https://github.com/apache/datafusion-sqlparser-rs/pull/2575) (LucaCappelletti94) +- PostgreSQL: Remove unreachable empty op_types branch in operator FUNCTION items [#2632](https://github.com/apache/datafusion-sqlparser-rs/pull/2632) (LucaCappelletti94) +- SetExpr: apply recursive-protection to Display [#2623](https://github.com/apache/datafusion-sqlparser-rs/pull/2623) (fengyue-xve) +- MySQL: Bind && with the precedence of AND [#2576](https://github.com/apache/datafusion-sqlparser-rs/pull/2576) (LucaCappelletti94) +- SQLite: Support `$` inside identifiers [#2554](https://github.com/apache/datafusion-sqlparser-rs/pull/2554) (LucaCappelletti94) +- ClickHouse, MySQL: Keep the quoting of the CREATE TABLE ENGINE name [#2655](https://github.com/apache/datafusion-sqlparser-rs/pull/2655) (LucaCappelletti94) +- PostgreSQL: Reject string literals as aliases [#2668](https://github.com/apache/datafusion-sqlparser-rs/pull/2668) (LucaCappelletti94) +- DuckDB: Always render the macro argument list parentheses [#2656](https://github.com/apache/datafusion-sqlparser-rs/pull/2656) (LucaCappelletti94) +- ClickHouse: Allow $ inside identifiers [#2686](https://github.com/apache/datafusion-sqlparser-rs/pull/2686) (s5dsn-eqee) +- Check prefix operator spacing by rendered first char [#2577](https://github.com/apache/datafusion-sqlparser-rs/pull/2577) (LucaCappelletti94) +- SQLite: Accept a block comment left open at end of input [#2661](https://github.com/apache/datafusion-sqlparser-rs/pull/2661) (LucaCappelletti94) +- PostgreSQL, SQLite, DuckDB, MySQL: Accept keyword-like base window names in `OVER` [#2672](https://github.com/apache/datafusion-sqlparser-rs/pull/2672) (LucaCappelletti94) +- SQLite: Parse `&` and `|` at the same precedence [#2683](https://github.com/apache/datafusion-sqlparser-rs/pull/2683) (LucaCappelletti94) +- PostgreSQL: Parse schema-qualified keyword function calls [#2685](https://github.com/apache/datafusion-sqlparser-rs/pull/2685) (LucaCappelletti94) +- DuckDB, MySQL, Spark, Databricks, Hive, ClickHouse: Accept string literal aliases only where each engine does [#2669](https://github.com/apache/datafusion-sqlparser-rs/pull/2669) (LucaCappelletti94) +- MySQL: Keep literal prefixes as identifiers after a period [#2688](https://github.com/apache/datafusion-sqlparser-rs/pull/2688) (LucaCappelletti94) +- SQLite: Accept fallback keywords as implicit column aliases [#2682](https://github.com/apache/datafusion-sqlparser-rs/pull/2682) (LucaCappelletti94) +- SQLite: Bind <, <=, > and >= tighter than = [#2678](https://github.com/apache/datafusion-sqlparser-rs/pull/2678) (LucaCappelletti94) +- Accept `VALUE` as a synonym of `VALUES` only in MySQL [#2662](https://github.com/apache/datafusion-sqlparser-rs/pull/2662) (LucaCappelletti94) +- SQLite, DuckDB, PostgreSQL: Accept `._name` after whitespace in a qualified name [#2677](https://github.com/apache/datafusion-sqlparser-rs/pull/2677) (LucaCappelletti94) +- PostgreSQL: Display the index operator class before the sort options [#2663](https://github.com/apache/datafusion-sqlparser-rs/pull/2663) (LucaCappelletti94) +- Tokenize `~~` as `LIKE` only in PostgreSQL, Redshift and DuckDB [#2659](https://github.com/apache/datafusion-sqlparser-rs/pull/2659) (LucaCappelletti94) +- SQLite: Support signed and decimal numbers in type modifiers [#2557](https://github.com/apache/datafusion-sqlparser-rs/pull/2557) (LucaCappelletti94) +- SQLite: Parse the `BETWEEN` lower bound up to its `AND` [#2664](https://github.com/apache/datafusion-sqlparser-rs/pull/2664) (LucaCappelletti94) +- PostgreSQL, DuckDB, Spark, Databricks: Accept a comparison in the `BETWEEN` lower bound [#2665](https://github.com/apache/datafusion-sqlparser-rs/pull/2665) (LucaCappelletti94) +- PostgreSQL: Accept a signed CONNECTION LIMIT in CREATE ROLE and ALTER ROLE [#2731](https://github.com/apache/datafusion-sqlparser-rs/pull/2731) (LucaCappelletti94) +- PostgreSQL: Parse hexadecimal, octal and binary integer literals [#2758](https://github.com/apache/datafusion-sqlparser-rs/pull/2758) (LucaCappelletti94) +- PostgreSQL: Parse a word after an interval value that is not a PostgreSQL field as an alias [#2775](https://github.com/apache/datafusion-sqlparser-rs/pull/2775) (LucaCappelletti94) +- SQLite: Reject colon-based semi-structured data traversal [#2613](https://github.com/apache/datafusion-sqlparser-rs/pull/2613) (LucaCappelletti94) +- PostgreSQL: Parse untyped column entries in `CREATE TABLE ... PARTITION OF` [#2766](https://github.com/apache/datafusion-sqlparser-rs/pull/2766) (LucaCappelletti94) + +**Other:** + +- Redshift: Support APPROXIMATE PERCENTILE_DISC [#2480](https://github.com/apache/datafusion-sqlparser-rs/pull/2480) (BenSatori) +- Postgres: Fix parsing of COLLATE after :: cast [#2490](https://github.com/apache/datafusion-sqlparser-rs/pull/2490) (BenSatori) +- Add NOTICE file [#2496](https://github.com/apache/datafusion-sqlparser-rs/pull/2496) (alamb) +- Databricks: support INSERT BY NAME [#2403](https://github.com/apache/datafusion-sqlparser-rs/pull/2403) (finchxxia) +- Fuzz: Replace honggfuzz harness with cargo-fuzz [#2520](https://github.com/apache/datafusion-sqlparser-rs/pull/2520) (LucaCappelletti94) +- PostgreSQL: Render prefix @ operator with a space [#2531](https://github.com/apache/datafusion-sqlparser-rs/pull/2531) (LucaCappelletti94) +- Render prefix ~ operator with a space [#2533](https://github.com/apache/datafusion-sqlparser-rs/pull/2533) (LucaCappelletti94) +- Fix unary minus rendering into -- line comments [#2532](https://github.com/apache/datafusion-sqlparser-rs/pull/2532) (LucaCappelletti94) +- Fuzz: Wire up ClusterFuzzLite CI fuzzing [#2527](https://github.com/apache/datafusion-sqlparser-rs/pull/2527) (LucaCappelletti94) +- Fuzz: Display roundtrip [#2528](https://github.com/apache/datafusion-sqlparser-rs/pull/2528) (LucaCappelletti94) +- Separate the LAMBDA keyword syntax from the -> lambda syntax [#2458](https://github.com/apache/datafusion-sqlparser-rs/pull/2458) (adriangb) +- Fuzz: Add curated seed corpus [#2530](https://github.com/apache/datafusion-sqlparser-rs/pull/2530) (LucaCappelletti94) +- Add dialect labeler [#2517](https://github.com/apache/datafusion-sqlparser-rs/pull/2517) (LucaCappelletti94) +- CI: Run push workflows only on main and release branches [#2548](https://github.com/apache/datafusion-sqlparser-rs/pull/2548) (LucaCappelletti94) +- CI: Cancel superseded pull request runs [#2547](https://github.com/apache/datafusion-sqlparser-rs/pull/2547) (LucaCappelletti94) +- ClickHouse: Support FIRST | AFTER column position in ALTER TABLE [#2535](https://github.com/apache/datafusion-sqlparser-rs/pull/2535) (s5dsn-eqee) +- CI: Add Codecov coverage job with cargo-llvm-cov [#2565](https://github.com/apache/datafusion-sqlparser-rs/pull/2565) (LucaCappelletti94) +- Differential Fuzzing (1/3): Check `SQLiteDialect` against SQLite's own parser [#2562](https://github.com/apache/datafusion-sqlparser-rs/pull/2562) (LucaCappelletti94) +- Differential Fuzzing (2/3): Check `PostgreSqlDialect` against PostgreSQL's own grammar [#2563](https://github.com/apache/datafusion-sqlparser-rs/pull/2563) (LucaCappelletti94) +- Differential Fuzzing (3/3): Check `DuckDbDialect` against DuckDB's own parser [#2564](https://github.com/apache/datafusion-sqlparser-rs/pull/2564) (LucaCappelletti94) +- Snowflake: Parse structured ARRAY types [#2488](https://github.com/apache/datafusion-sqlparser-rs/pull/2488) (osipovartem) +- Postgres: Support TRIM FROM syntax [#2493](https://github.com/apache/datafusion-sqlparser-rs/pull/2493) (BenSatori) +- Replace benchmark flamegraph.svg with png [#2497](https://github.com/apache/datafusion-sqlparser-rs/pull/2497) (alamb) +- Run the dialect labeler on pull request pushes and reopens [#2550](https://github.com/apache/datafusion-sqlparser-rs/pull/2550) (LucaCappelletti94) +- Snowflake: parse ORDER BY ALL [#2502](https://github.com/apache/datafusion-sqlparser-rs/pull/2502) (osipovartem) +- Snowflake: preserve reluctant MATCH_RECOGNIZE quantifiers [#2510](https://github.com/apache/datafusion-sqlparser-rs/pull/2510) (osipovartem) +- Snowflake: parse nested COPY transformation paths [#2518](https://github.com/apache/datafusion-sqlparser-rs/pull/2518) (osipovartem) +- Refactor: replace `dialect_of!` table partition check with `Dialect` trait method [#2526](https://github.com/apache/datafusion-sqlparser-rs/pull/2526) (jerguslejko) +- ClickHouse: Support ALTER TABLE ... MODIFY ORDER BY [#2569](https://github.com/apache/datafusion-sqlparser-rs/pull/2569) (jordiori) +- Check in Cargo.lock [#2482](https://github.com/apache/datafusion-sqlparser-rs/pull/2482) (alamb) +- Databricks: support collated data types [#2553](https://github.com/apache/datafusion-sqlparser-rs/pull/2553) (EthanVieira) +- Enable GitHub Discussions [#2581](https://github.com/apache/datafusion-sqlparser-rs/pull/2581) (LucaCappelletti94) +- Ignore libFuzzer worker logs in fuzz/ [#2583](https://github.com/apache/datafusion-sqlparser-rs/pull/2583) (LucaCappelletti94) +- Remove homepage metadata duplicating repository [#2582](https://github.com/apache/datafusion-sqlparser-rs/pull/2582) (LucaCappelletti94) +- PostgreSQL: Support CREATE FOREIGN TABLE [#2515](https://github.com/apache/datafusion-sqlparser-rs/pull/2515) (fmguerreiro) +- Snowflake: Parse structured OBJECT types [#2489](https://github.com/apache/datafusion-sqlparser-rs/pull/2489) (osipovartem) +- ClickHouse: Support tuple element access by index [#2574](https://github.com/apache/datafusion-sqlparser-rs/pull/2574) (s5dsn-eqee) +- MSSQL: Support PROC as CREATE PROCEDURE abbreviation [#2448](https://github.com/apache/datafusion-sqlparser-rs/pull/2448) (t8y2) +- PostgreSQL: Remove test `parse_create_table_with_inherit` [#2595](https://github.com/apache/datafusion-sqlparser-rs/pull/2595) (LucaCappelletti94) +- Bump bigdecimal from 0.4.10 to 0.4.11 [#2602](https://github.com/apache/datafusion-sqlparser-rs/pull/2602) (dependabot[bot]) +- Update SECURITY policy to conform to ASF guidelines [#2601](https://github.com/apache/datafusion-sqlparser-rs/pull/2601) (alamb) +- Gate fuzz oracle targets behind features [#2585](https://github.com/apache/datafusion-sqlparser-rs/pull/2585) (LucaCappelletti94) +- Add a fuzz target that flags superlinear parsing and printing [#2580](https://github.com/apache/datafusion-sqlparser-rs/pull/2580) (LucaCappelletti94) +- ClickHouse: Support GLOBAL IN / GLOBAL NOT IN [#2598](https://github.com/apache/datafusion-sqlparser-rs/pull/2598) (s5dsn-eqee) +- ci: raise the merge queue status check timeout to 360 minutes [#2638](https://github.com/apache/datafusion-sqlparser-rs/pull/2638) (alamb) +- MySQL: Add support for `ZEROFILL` on numeric data types [#2636](https://github.com/apache/datafusion-sqlparser-rs/pull/2636) (davisjc) +- Postgres: support OVERRIDING { SYSTEM | USER } VALUE in INSERT [#2626](https://github.com/apache/datafusion-sqlparser-rs/pull/2626) (zvonimir-dd) +- Bump serde_json from 1.0.151 to 1.0.154 [#2637](https://github.com/apache/datafusion-sqlparser-rs/pull/2637) (dependabot[bot]) +- Deny `clippy::manual_assert_eq` [#2644](https://github.com/apache/datafusion-sqlparser-rs/pull/2644) (LucaCappelletti94) +- Parser: Fix array suffixes after a `>>` that closes two nested types [#2643](https://github.com/apache/datafusion-sqlparser-rs/pull/2643) (kdn36) +- Commit the fuzz crate's Cargo.lock [#2647](https://github.com/apache/datafusion-sqlparser-rs/pull/2647) (LucaCappelletti94) +- Deny `clippy::should_panic_without_expect` [#2648](https://github.com/apache/datafusion-sqlparser-rs/pull/2648) (LucaCappelletti94) +- Postgres: Support aliases for JOIN USING [#2492](https://github.com/apache/datafusion-sqlparser-rs/pull/2492) (BenSatori) +- Deny `clippy::ignore_without_reason` [#2652](https://github.com/apache/datafusion-sqlparser-rs/pull/2652) (LucaCappelletti94) +- Deny `clippy::allow_attributes` and `allow_attributes_without_reason` [#2653](https://github.com/apache/datafusion-sqlparser-rs/pull/2653) (LucaCappelletti94) +- replaces the hard-coded dialect list in the tokenizer with a `supports_hash_comment` dialect method [#2674](https://github.com/apache/datafusion-sqlparser-rs/pull/2674) (s5dsn-eqee) +- Docs: Require a fuzz seed per bug fix in AGENTS.md [#2690](https://github.com/apache/datafusion-sqlparser-rs/pull/2690) (s5dsn-eqee) +- Snowflake: Support ALTER TABLE ADD COLUMN IF NOT EXISTS [#2639](https://github.com/apache/datafusion-sqlparser-rs/pull/2639) (sabir-akhadov-localstack) +- CI: Remove ClusterFuzzLite from PR, daily schedule only. [#2697](https://github.com/apache/datafusion-sqlparser-rs/pull/2697) (LucaCappelletti94) +- CI: Use a Python release available on Ubuntu 26.04 for RAT [#2711](https://github.com/apache/datafusion-sqlparser-rs/pull/2711) (LucaCappelletti94) +- CI: Prepare required checks for lint consolidation [#2704](https://github.com/apache/datafusion-sqlparser-rs/pull/2704) (LucaCappelletti94) +- CI: Reduce redundant Rust checks [#2703](https://github.com/apache/datafusion-sqlparser-rs/pull/2703) (LucaCappelletti94) +- Capture the `COPY ... FROM STDIN` payload verbatim [#2428](https://github.com/apache/datafusion-sqlparser-rs/pull/2428) (LucaCappelletti94) +- Reject unquoted reserved keywords as table names [#2633](https://github.com/apache/datafusion-sqlparser-rs/pull/2633) (LucaCappelletti94) +- Add ordered bind placeholder dialect metadata [#2457](https://github.com/apache/datafusion-sqlparser-rs/pull/2457) (LucaCappelletti94) +- PostgreSQL: parse `ALTER TRIGGER RENAME TO` and `DEPENDS ON EXTENSION` [#2430](https://github.com/apache/datafusion-sqlparser-rs/pull/2430) (LucaCappelletti94) +- Spark: Share CACHE TABLE parsing [#2714](https://github.com/apache/datafusion-sqlparser-rs/pull/2714) (LucaCappelletti94) +- MySQL: Remove duplicate string-introducer arm [#2716](https://github.com/apache/datafusion-sqlparser-rs/pull/2716) (LucaCappelletti94) +- MSSQL: Share alias keyword exclusions [#2717](https://github.com/apache/datafusion-sqlparser-rs/pull/2717) (LucaCappelletti94) +- PostgreSQL: Share operator-function formatting [#2721](https://github.com/apache/datafusion-sqlparser-rs/pull/2721) (LucaCappelletti94) +- Parser: Share foreign-key reference clause parsing [#2715](https://github.com/apache/datafusion-sqlparser-rs/pull/2715) (LucaCappelletti94) +- MySQL, Spark: Share DIV parsing [#2718](https://github.com/apache/datafusion-sqlparser-rs/pull/2718) (LucaCappelletti94) +- PostgreSQL: Share operator-purpose parsing [#2719](https://github.com/apache/datafusion-sqlparser-rs/pull/2719) (LucaCappelletti94) +- MySQL: Share column primary-key parsing [#2720](https://github.com/apache/datafusion-sqlparser-rs/pull/2720) (LucaCappelletti94) +- Tests: Share quoted-identifier assertions [#2722](https://github.com/apache/datafusion-sqlparser-rs/pull/2722) (LucaCappelletti94) +- Bump libduckdb-sys from 1.10506.1 to 1.20000.0 in /fuzz [#2726](https://github.com/apache/datafusion-sqlparser-rs/pull/2726) (dependabot[bot]) +- Bump libsqlite3-sys from 0.38.2 to 0.39.1 in /fuzz [#2754](https://github.com/apache/datafusion-sqlparser-rs/pull/2754) (dependabot[bot]) +- PostgreSQL: Parse namespaced storage parameters [#2743](https://github.com/apache/datafusion-sqlparser-rs/pull/2743) (LucaCappelletti94) +- CI: Make the coverage check advisory [#2792](https://github.com/apache/datafusion-sqlparser-rs/pull/2792) (LucaCappelletti94) +- PostgreSQL: Support column OPTIONS in CREATE FOREIGN TABLE [#2755](https://github.com/apache/datafusion-sqlparser-rs/pull/2755) (LucaCappelletti94) + +## Credits + +Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. + +``` + 141 Luca Cappelletti + 6 Dmitri B. + 5 Andrew Lamb + 5 Artem Osipov + 4 Ben Herzberg + 4 dependabot[bot] + 3 Filipe Guerreiro + 2 Adrian Garcia Badaracco + 2 Jordi Orihuela + 2 Zvonimir + 1 Ethan Vieira + 1 Francis + 1 Jerguš Lejko + 1 Johnathan Davis + 1 Koen Denecker + 1 fengyue-xve + 1 finchxxia + 1 sabir-akhadov-localstack + 1 t8y2 +``` + +Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. + diff --git a/derive/Cargo.toml b/derive/Cargo.toml index f900c1ea4a..7fe7183b95 100644 --- a/derive/Cargo.toml +++ b/derive/Cargo.toml @@ -18,7 +18,7 @@ [package] name = "sqlparser_derive" description = "Procedural (proc) macros for sqlparser" -version = "0.6.0" +version = "0.7.0" authors = ["sqlparser-rs authors"] documentation = "https://docs.rs/sqlparser_derive/" keywords = ["ansi", "sql", "lexer", "parser"] From fbd129605bd38b8d12f132084dcbc426648017e8 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 4 Nov 2026 07:49:15 -0500 Subject: [PATCH 2/2] Update changelog for newly merged PRs Co-Authored-By: Claude Fable 5.1 --- changelog/0.64.0.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/changelog/0.64.0.md b/changelog/0.64.0.md index 9a4deaa488..fc8108da23 100644 --- a/changelog/0.64.0.md +++ b/changelog/0.64.0.md @@ -19,7 +19,7 @@ under the License. # sqlparser-rs 0.64.0 Changelog -This release consists of 183 commits from 19 contributors. See credits at the end of this changelog for more information. +This release consists of 186 commits from 19 contributors. See credits at the end of this changelog for more information. **Breaking changes:** @@ -215,13 +215,16 @@ This release consists of 183 commits from 19 contributors. See credits at the en - PostgreSQL: Parse namespaced storage parameters [#2743](https://github.com/apache/datafusion-sqlparser-rs/pull/2743) (LucaCappelletti94) - CI: Make the coverage check advisory [#2792](https://github.com/apache/datafusion-sqlparser-rs/pull/2792) (LucaCappelletti94) - PostgreSQL: Support column OPTIONS in CREATE FOREIGN TABLE [#2755](https://github.com/apache/datafusion-sqlparser-rs/pull/2755) (LucaCappelletti94) +- PostgreSQL: Support ALTER TABLE DETACH PARTITION [#2812](https://github.com/apache/datafusion-sqlparser-rs/pull/2812) (LucaCappelletti94) +- PostgreSQL: Support `INHERIT` in `ALTER TABLE` [#2813](https://github.com/apache/datafusion-sqlparser-rs/pull/2813) (LucaCappelletti94) +- PostgreSQL: Support `NO INHERIT` in `ALTER TABLE` [#2814](https://github.com/apache/datafusion-sqlparser-rs/pull/2814) (LucaCappelletti94) ## Credits Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. ``` - 141 Luca Cappelletti + 144 Luca Cappelletti 6 Dmitri B. 5 Andrew Lamb 5 Artem Osipov