Highlights
This is primarily a bugfix and dialect release:
- Several bugfixes related to templating and indentation.
- Configurable indentation before
THENinCASEstatements (see #4598). - Performance improvements to
TypedParser,LT03<04. - Rule timings now appear in the
--persist-timingoption for deeper performance understanding. - The introduction of a Greenplum dialect.
- Dialect improvements to TSQL, Athena, Snowflake, MySQL, SparkSQL, BigQuery, Databricks, Clickhouse & Postgres.
We also saw a huge number of first time contributors with 9 contributing in this release πππ.
Whatβs Changed
- Better error message for missing keywords #4676 @tunetheweb
- Add performance shortcuts to LT03 & LT04 #4672 @alanmcruickshank
- Clickhouse: Add support for [LEFT] ARRAY JOIN #4618 @simpl1g
- Postgres - allow untyped OVERLAPS clauses #4674 @tunetheweb
- Mark
is_alias_requiredas a private class so it doesn't appear in docs #4673 @tunetheweb - Fix bug in templated with clauses LT07 #4671 @alanmcruickshank
- TSQL:
OPENJSON()#4652 @keen85 - fix(RF06/L059): allows configuring prefer_quoted_keywords to deconflict with L029 #4396 @timcosta
- TSQL:
Create External Table#4642 @aly76 - Consistent indentation in
MERGEINSERTclause #4666 @dmohns - BigQuery: Fix null assignment in options segment #4669 @greg-finley
- BigQuery: Delete table reference #4668 @greg-finley
- TSQL:
CREATE EXTERNAL FILE FORMAT#4647 @keen85 - Remove TIME as reserved keyword in SparkSQL #4662 @bmorck
- Start of the Greenplum dialect implementation #4661 @JackWolverson
- Enable configuring whether to require indent before THEN #4598 @fredriv
- Sequence Meta Handling #4622 @alanmcruickshank
- Add support for non-quoted file paths in SparkSQL #4650 @bmorck
- Remove three RegexParsers #4658 @alanmcruickshank
- Make parse test readout more helpful #4657 @alanmcruickshank
- TSQL: support for
sqlcmdcommands:rand:setvar#4653 @keen85 - Update README with Databricks note #4632 @liamperritt
- Athena: Fix parsing error with aliases starting with underscore #4636 @maiarareinaldo
- Snowflake: Stop ever-increasing indent in CREATE USER #4638 @roman-ef
- TSQL:
PERIOD FOR SYSTEM_TIME(temporal tables) #4654 @keen85 - MySQL: SelectStatementSegment in CREATE/ALTER VIEW may be bracketed #4655 @yoichi
- TSQL:
CREATE EXTERNAL DATA SOURCE#4634 @keen85 - Safety valve on source fixes #4640 @alanmcruickshank
- Add SparkSQL support for LONG primitive type #4639 @bmorck
- Fix PIVOT clauses for BigQuery and SparkSQL #4630 @tunetheweb
- Correct BigQuery WINDOW parsing #4629 @tunetheweb
- Add Databricks dialect support for Unity Catalog #4568 @liamperritt
- .simple() matching for TypedMatcher #4612 @alanmcruickshank
- --bench output with rule timings #4601 @alanmcruickshank
- MySQL: Unnamed constraints #4616 @greg-finley
- TSQL: Create database scoped credential #4615 @greg-finley
- fix(dialect-clickhouse): Add materialized view statement #4605 @germainlefebvre4
- Nicer formatted dbt errors #4606 @alanmcruickshank
- add parse lambda function Clickhouse #4611 @konnectr
- Support
WITH ORDINALITYclauses in Postgres #4599 @tunetheweb
New Contributors
- @germainlefebvre4 made their first contribution in #4605
- @liamperritt made their first contribution in #4568
- @bmorck made their first contribution in #4639
- @keen85 made their first contribution in #4634
- @roman-ef made their first contribution in #4638
- @maiarareinaldo made their first contribution in #4636
- @fredriv made their first contribution in #4598
- @aly76 made their first contribution in #4642
- @simpl1g made their first contribution in #4618