sqlparser-rs 0.63.0 Changelog
This release consists of 87 commits from 30 contributors. See credits at the end of this changelog for more information.
Implemented enhancements:
- feat: add PostgreSQL EXCLUDE constraint parsing #2307 (fmguerreiro)
Other:
- Databricks: Add support for
UPDATE SET * and INSERT * in MERGE statements #2325 (finchxxia) - Snowflake: Fix COPY INTO transformation parsing for cast expressions #2328 (97nitt)
- Snowflake: Accept COPY GRANTS after CREATE VIEW column list #2327 (97nitt)
- Fix panic in EscapeQuotedString and parse_flush, clean up a few unwraps #2330 (Mrmaxmeier)
- Teradata: Add
CREATE TABLE options #2329 (iffyio) - Add support for PostgreSQL's ORDER BY ... USING clause #2246 (LucaCappelletti94)
- BigQuery: Parse WITH CONNECTION on CREATE EXTERNAL TABLE #2326 (97nitt)
- Add ASYNC keyword support for CREATE INDEX #2302 (amaksimo)
- PostgreSQL: add support for
ABORT TRANSACTION #2332 (sunng87) - Snowflake: Add support for PUT #2341 (ramnes)
- Make
visitor feature no_std-compatible #2343 (LucaCappelletti94) - Parser: fix exponential parse time on compound chains #2344 (LucaCappelletti94)
- MySQL: Add support for group by with rollup #2347 (yoavcloud)
- Hive: Support MAP<K, V> column types #2346 (wugeer)
- Snowflake: Add support for CREATE FILE FORMAT #2336 (ramnes)
- Expose Parser::into_comments #2354 (xitep)
- Improve accuracy of supports_string_literal_concatenation_with_newline #2348 (yoavcloud)
- Spark: enable SQL pipe operator (
|>) #2358 (moshap-firebolt) - Support multiple targets for
SELECT INTO #2360 (iffyio) - Fix issue #2353: Incorrect canonicalization of
NATURAL JOIN #2355 (revitalkr) - Microsoft sql server: Escape quotes in national string display #2365 (lovasoa)
- Parser: fix exponential parse time on compound keyword chains #2350 (LucaCappelletti94)
- Parser: fix exponential parse time on speculative prefix parsing #2352 (LucaCappelletti94)
- Support aliased function arguments (expr AS name) #2368 (LucaCappelletti94)
- Forbid unsafe code #2369 (LucaCappelletti94)
- sqlite: Support
GLOB operator #2362 (connyay) - Parser: fix exponential parse time on table-factor paren chains #2372 (moshap-firebolt)
- Disable
supports_left_associative_joins_without_parens for MySQL and Redshift #2357 (revitalkr) - Add PostgreSQL
CREATE/ALTER TEXT SEARCH DDL Parsing #2250 (LucaCappelletti94) - Do not consume statement terminator in unparenthesized option lists #2376 (LucaCappelletti94)
- Parse
ALTER USER as a synonym for ALTER ROLE #2374 (LucaCappelletti94) - Add pre_visit_ident / post_visit_ident hooks to the Visitor trait #2370 (sabir-akhadov-localstack)
- Handle nested parentheses in INSERT subquery detection #2387 (sabir-akhadov-localstack)
- PostgreSQL
UNLOGGED Table Support and ALTER TABLE ... SET LOGGED|UNLOGGED #2251 (LucaCappelletti94) - ClickHouse: Support unparenthesized IN right-hand side #2385 (dinmukhamedm)
- Parser: fix exponential parse time on expression-named function arguments #2392 (moshap-firebolt)
- CI: Add cargo audit security workflow #2373 (LucaCappelletti94)
- Postgres: parse LIMIT after the row-locking clause #2391 (truffle-dev)
- Fix clippy lints for Rust 1.97 #2402 (takaebato)
- PostgreSQL: support right-deep join chains (deferred ON clauses) #2377 (moshap-firebolt)
- Dialects: implement identifier_quote_style for remaining dialect #2401 (takaebato)
- Support inline aggregate WHERE filter (
AGG(expr WHERE cond)) #2404 (moshap-firebolt) - Snowflake: parse CREATE WAREHOUSE #2388 (sabir-akhadov-localstack)
- PostgreSQL: Support SQL standard
ARRAY keyword in type declarations #2356 (LucaCappelletti94) - Accept CREATE OR REPLACE SCHEMA #2396 (sabir-akhadov-localstack)
- ClickHouse: Fix MATERIALIZED column option docs typo #2410 (Hashim1999164)
- Adding support for
IS JSON & IS NOT JSON #2256 (LucaCappelletti94) - Support numeric underscore separators for DuckDB and SQLite #2412 (nuno-faria)
- Add visitors for ORDER BY and GROUP BY #2406 (rs-sac)
- PostgreSQL: support INCLUDE on PRIMARY KEY / UNIQUE table constraints #2366 (amaksimo)
- Honour operator precedence in SQLite
REGEXP, MATCH and GLOB #2419 (LucaCappelletti94) - Add recursion checks for parse_interval #2422 (shuvamk)
- Added support for unpivot in Redshift with expression and bracketsless #2375 (kfirSatori)
- Add XMLPARSE expression #2371 (LucaCappelletti94)
- BigQuery: enable FROM-first SELECT #2439 (moshap-firebolt)
- Reject invalid numeric underscore separators #2426 (fyrsta7)
- Keep the quoting and span of a function argument name #2447 (LucaCappelletti94)
- Improved AGENTS.md to address the problematics of slop PRs & reviews #2444 (LucaCappelletti94)
- Support PostgreSQL's
RESET SESSION AUTHORIZATION #2413 (LucaCappelletti94) - Support
NO INHERIT modifier on CHECK constraints #2435 (LucaCappelletti94) - Print
GRANT clauses in the order the parser reads them #2415 (LucaCappelletti94) - Inline Word::to_ident #2427 (fyrsta7)
- Parse
REVOKE GRANT OPTION FOR #2431 (LucaCappelletti94) - Redshift: allow INTERVAL as a column name #2456 (BenSatori)
- Honour operator precedence in
IS [NOT] DISTINCT FROM #2436 (zvonimir-dd) - Stop printing a trailing space after
PUBLIC in GRANT and REVOKE #2416 (LucaCappelletti94) - PostgreSQL: Allow non-reserved keywords as table aliases #2479 (BenSatori)
- Honour operator precedence in MySQL and Spark
DIV #2471 (zvonimir-dd) - MySQL: print a space before PARTITION when displaying a table factor #2423 (shuvamk)
- Preserve numeric compound field access display #2463 (LucaCappelletti94)
- Visit CreateView name as a relation #2442 (sabir-akhadov-localstack)
- Apply recursion limit without std #2465 (LucaCappelletti94)
- Parse PostgreSQL MERGE DO NOTHING actions #2468 (LucaCappelletti94)
- Add recursion checks for parse_data_type #2411 (iffyio)
- Parse expression-valued LIKE ESCAPE clauses #2476 (lovasoa)
- Databricks: enable query and nested type syntax #2478 (EthanVieira)
- Visit function clauses in source order #2477 (lovasoa)
- Update sqlparser_derive to syn 3.0 #2483 (alamb)
Credits
Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.
26 Luca Cappelletti
9 Andrew Lamb
6 Mosha Pasumansky
5 sabir-akhadov-localstack
3 Corey Fritz
3 Ifeanyi Ubah
3 Ophir LOJKINE
2 Aleksandar Maksimovic
2 Ben Herzberg
2 Guillaume Gelin
2 Shuvam Kumar
2 Takahiro Ebato
2 Yoav Cohen
2 Yuwei Zhao
2 Zvonimir
2 revitalkr
1 Connor Hindley
1 Dinmukhamed Mailibay
1 Ethan Vieira
1 Filipe Guerreiro
1 Hashim Khan
1 Mrmaxmeier
1 Ning Sun
1 Nuno Faria
1 Sidney Cammeresi
1 Truffle
1 finchxxia
1 kfirSatori
1 wugeer
1 xitep
Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.