Highlights
This release brings one new dialect, two new rules and some changes to the CLI:
- We now support the trino dialect. This is a first version of support, so do post any issues on GitHub in the usual way. This was also the first contribution to the project from @efung π.
ST09
/structure.join_condition_order
: Which checks whether tables referenced inJOIN
clauses are referenced in the order of their definition. By default this means that in theON
clause, the column referencing the table in theFROM
clause should come before the column referencing the table in theJOIN
clause (e.g.... FROM a JOIN b on a.c = b.c
). This rule was also the first contribution to the project from @thibonacci π.AL08
/aliasing.unique.column
: Which checks that column aliases and names are not repeated within the sameSELECT
clause. This is normally an error as it implies the same column has been imported twice, or that two expressions have been given the same alias.- The
--profiler
option onsqlfluff parse
has been removed. It was only present on theparse
command and notlint
orfix
, and it is just as simple to invoke the pythoncProfiler
directly. - The
--recurse
cli option andsqlfluff.recurse
configuration option have both been removed. They both existed purely for debugging the parser, and were never used in a production setting. The improvement in other debugging messages when unparsable sections are found means that this option is no longer necessary.
Along side these more significant changes this also includes:
- Performance optimisations for
AL04
,AL05
,AM04
,RF01
&ST05
which cumulatively may save up to 30% on the total time spend in the linting phase for some projects. - Dialect improvements for Oracle & TSQL.
Whatβs Changed
- Remove IdentitySet #5093 @alanmcruickshank
- Stricter typing in smaller sqlfluff.core.parser #5088 @alanmcruickshank
- Preliminary support of Trino dialect #4913 @efung
- Rename ST09 #5091 @alanmcruickshank
- TSQL: Fix Clustered Index asc/desc #5090 @greg-finley
- Parent references and more efficient path_to #5076 @alanmcruickshank
- New Rule: AL08 - column aliases must be unique #5079 @alanmcruickshank
- Add support for fetch first row(s) only in Oracle #5089 @joaostorrer
- Fix bug around quoted identifiers for ST09 #5087 @thibonacci
- Add strict typing to the templating tracer #5085 @WittierDinosaur
- Remove recurse config #5065 @alanmcruickshank
- β Strictly type dialect #5067 @pwildenhain
- Add new rule ST09: Joins should list the table referenced earlier (default)/later first #4974 @thibonacci
- Remove the internal cProfiler option #5081 @alanmcruickshank
- Optimisation on select analysis #5082 @alanmcruickshank
New Contributors
- @thibonacci made their first contribution in #4974
- @efung made their first contribution in #4913