Skip to content

Latest commit

 

History

History
173 lines (138 loc) · 10 KB

0.55.0.md

File metadata and controls

173 lines (138 loc) · 10 KB

sqlparser-rs 0.55.0 Changelog

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

Migrating usages of Expr::Value

In v0.55 of sqlparser the Expr::Value enum variant contains a ValueWithSpan instead of a Value. Here is how to migrate.

When pattern matching

- Expr::Value(Value::SingleQuotedString(my_string)) => { ... }
+ Expr::Value(ValueWithSpan{ value: Value::SingleQuotedString(my_string), span: _ }) => { ... }

When creating an Expr

Use the new Expr::value method (notice the lowercase v), which will create a ValueWithSpan containing an empty span:

- Expr::Value(Value::SingleQuotedString(my_string))
+ Expr::value(Value::SingleQuotedString(my_string))

Migrating usages of ObjectName

In v0.55 of sqlparser, the ObjectName structure has been changed as shown below. Here is now to migrate.

- pub struct ObjectName(pub Vec<Ident>);
+ pub struct ObjectName(pub Vec<ObjectNamePart>)

When constructing ObjectName

Use the From impl:

- name: ObjectName(vec![Ident::new("f")]),
+ name: ObjectName::from(vec![Ident::new("f")]),

Accessing Spans

Use the span() function

- name.span
+ name.span()

Breaking changes:

  • Enhance object name path segments #1539 (ayman-sigma)
  • Store spans for Value expressions #1738 (lovasoa)

Implemented enhancements:

  • feat: adjust create and drop trigger for mysql dialect #1734 (invm)

Fixed bugs:

  • fix: make serde feature no_std #1730 (iajoiner)

Other:

  • Update rat_exclude_file.txt #1670 (alamb)
  • Add support for Snowflake account privileges #1666 (yoavcloud)
  • Add support for Create Iceberg Table statement for Snowflake parser #1664 (Vedin)
  • National strings: check if dialect supports backslash escape #1672 (hansott)
  • Only support escape literals for Postgres, Redshift and generic dialect #1674 (hansott)
  • BigQuery: Support trailing commas in column definitions list #1682 (iffyio)
  • Enable GROUP BY exp for Snowflake dialect #1683 (yoavcloud)
  • Add support for parsing empty dictionary expressions #1684 (yoavcloud)
  • Support multiple tables in UPDATE FROM clause #1681 (iffyio)
  • Add support for mysql table hints #1675 (AvivDavid-Satori)
  • BigQuery: Add support for select expr star #1680 (iffyio)
  • Support underscore separators in numbers for Clickhouse. Fixes #1659 #1677 (graup)
  • BigQuery: Fix column identifier reserved keywords list #1678 (iffyio)
  • Fix bug when parsing a Snowflake stage with ; suffix #1688 (yoavcloud)
  • Allow plain JOIN without turning it into INNER #1692 (mvzink)
  • Fix DDL generation in case of an empty arguments function. #1690 (remysaissy)
  • Fix CREATE FUNCTION round trip for Hive dialect #1693 (iffyio)
  • Make numeric literal underscore test dialect agnostic #1685 (iffyio)
  • Extend lambda support for ClickHouse and DuckDB dialects #1686 (gstvg)
  • Make TypedString preserve quote style #1679 (graup)
  • Do not parse ASOF and MATCH_CONDITION as table factor aliases #1698 (yoavcloud)
  • Add support for GRANT on some common Snowflake objects #1699 (yoavcloud)
  • Add RETURNS TABLE() support for CREATE FUNCTION in Postgresql #1687 (remysaissy)
  • Add parsing for GRANT ROLE and GRANT DATABASE ROLE in Snowflake dialect #1689 (yoavcloud)
  • Add support for CREATE/ALTER/DROP CONNECTOR syntax #1701 (wugeer)
  • Parse Snowflake COPY INTO #1669 (yoavcloud)
  • Require space after -- to start single line comment in MySQL #1705 (hansott)
  • Add suppport for Show Objects statement for the Snowflake parser #1702 (DanCodedThis)
  • Fix incorrect parsing of JsonAccess bracket notation after cast in Snowflake #1708 (yoavcloud)
  • Parse Postgres VARBIT datatype #1703 (mvzink)
  • Implement FROM-first selects #1713 (mitsuhiko)
  • Enable custom dialects to support MATCH() AGAINST() #1719 (joocer)
  • Support group by cube/rollup etc in BigQuery #1720 (Groennbeck)
  • Add support for MS Varbinary(MAX) (#1714) #1715 (TylerBrinks)
  • Add supports for Hive's SELECT ... GROUP BY .. GROUPING SETS syntax #1653 (wugeer)
  • Differentiate LEFT JOIN from LEFT OUTER JOIN #1726 (mvzink)
  • Add support for Postgres ALTER TYPE #1727 (jvatic)
  • Replace Method and CompositeAccess with CompoundFieldAccess #1716 (iffyio)
  • Add support for EXECUTE IMMEDIATE #1717 (iffyio)
  • Treat COLLATE like any other column option #1731 (mvzink)
  • Add support for PostgreSQL/Redshift geometric operators #1723 (benrsatori)
  • Implement SnowFlake ALTER SESSION #1712 (osipovartem)
  • Extend Visitor trait for Value type #1725 (tomershaniii)
  • Add support for ORDER BY ALL #1724 (PokIsemaine)
  • Parse casting to array using double colon operator in Redshift #1737 (yoavcloud)
  • Replace parallel condition/result vectors with single CaseWhen vector in Expr::Case. This fixes the iteration order when using the Visitor trait. Expressions are now visited in the same order as they appear in the sql source. #1733 (lovasoa)
  • BigQuery: Add support for BEGIN #1718 (iffyio)
  • Parse SIGNED INTEGER type in MySQL CAST #1739 (mvzink)
  • Parse MySQL ALTER TABLE ALGORITHM option #1745 (mvzink)
  • Random test cleanups use Expr::value #1749 (alamb)
  • Parse ALTER TABLE AUTO_INCREMENT operation for MySQL #1748 (mvzink)

Credits

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

    10	Yoav Cohen
     9	Ifeanyi Ubah
     7	Michael Victor Zink
     3	Hans Ott
     2	Andrew Lamb
     2	Ophir LOJKINE
     2	Paul Grau
     2	Rémy SAISSY
     2	wugeer
     1	Armin Ronacher
     1	Artem Osipov
     1	AvivDavid-Satori
     1	Ayman Elkfrawy
     1	DanCodedThis
     1	Denys Tsomenko
     1	Emil
     1	Ian Alexander Joiner
     1	Jesse Stuart
     1	Justin Joyce
     1	Michael
     1	SiLe Zhou
     1	Tyler Brinks
     1	benrsatori
     1	gstvg
     1	tomershaniii

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