Highlights
This is the first stable release of SQLFluff πππ.
- Does this mean there are no more bugs? No.
- Does this mean we're going to stop developing new features? No.
- Does this mean that this is a tool that is now broadly usable for many teams? Yes.
We've intentionally chosen to release 1.0.0 at a time of relative stability within SQLFluff and not at a time when new big structural changes are being made. This means that there's a good chance that this release is broadly usable. This also recognises that through the hard work of a huge number of contributors that we've built out this from a fringe tool, to something which gets over 500k downloads a month and over 4k stars on Github.
There's still a lot to do, and some more exciting things on the horizon. If you want to be part of this and join the team of contributors, come and hang out in our slack community or on our twitter account where people can help you get started. If you're a long time user, keep submitting bug reports and inputting on issues on Github.
If you've never used SQLFluff before, or are hesitant about starting to use it in your day to day work, now might be a good time to try it. We have guides on how to get started with the tool, and how to get started with rolling out to a team in our docs.
Whatβs Changed
- Prep version 1.0.0 (#3454) @github-actions
- Swap to skip file if not found (#3464) @alanmcruickshank
- Postgres: treat
GENERATE_SERIESas a value table function (#3463) @tunetheweb - Postgres: Support multiple
CONSTRAINTSinCREATE DOMAIN(#3460) @tunetheweb - Redshift: Add
ANYELEMENTsupport (#3458) @tunetheweb - Postgres: Optional select clause elements and better
ON CONFLICTsupport (#3452) @tunetheweb - Add ClickHouse as a dialect (#3448) @tunetheweb
- Postgres: allow keywords in qualified column references (#3450) @tunetheweb
- Remove Baron Schwatz Dead Link (#3453) @tunetheweb
- Postgres: Finish
ALTER TYPE(#3451) @greg-finley - SparkSQL: Add Delta Syntax for
DESCRIBE HISTORYstatement (#3447) @R7L208 - Snowflake: Support Stage data file parameters in
FROMclauses (#3446) @tunetheweb - Redshift: Support Object unpivoting (#3441) @tunetheweb
- Python script to automate release (#3403) @greg-finley
- Remove Delta Lake Reference in README.md (#3444) @R7L208
- Add
databricksdialect as an alias forsparksqldialect (#3440) @R7L208 - Make all Postgres identifiers quotable (#3442) @tunetheweb
- Update JinjaAnalyzer and JinjaTracer to handle
{% block %}(#3436) @barrywhart - SparkSQL: Add support for Delta
VACUUMstatement (#3439) @R7L208 - Warning for parsing errors extended to all dialects (#3411) @mdahlman
- Handle templater validation errors more gracefully (#3433) @alanmcruickshank
- MYSQL: allow for escaped single quotes (#3424) @mdahlman
- L027: Fix false positives by reverting the PR for issue #2992: Check table aliases exist (#3435) @barrywhart
- Allow
numeric_dollartemplater to have curly braces, updatedollar+numeric_dollartemplater examples in docs (#3432) @menzenski - Allow Redshift
IDENTITYcolumn(seed, step)to be optional (#3430) @menzenski - L036: Make wildcard behavior configurable (#3426) @barrywhart
- L034: Don't autofix if numeric column references (#3423) @barrywhart
- L036: Treat wildcard as multiple select targets (i.e. separate line) (#3422) @barrywhart
- Snowflake: IDENTIFIER pseudo-function (#3409) @mdahlman
- SNOWFLAKE: Fully referenced object names in clone statements (#3414) @mdahlman
- Unpin coverage now issue with 6.3 has been resolved (#3393) @tunetheweb
- L045: handle
UPDATEstatements with CTEs (#3397) @tunetheweb - L027: Add support for
ignore_words(#3398) @dmohns - Postgres: Allow
CREATE FUNCTIONto use Expressions in default values (#3408) @tunetheweb - Fix bug in
apply_fixes()with leading/trailing whitespace (#3407) @barrywhart - Redshift: Correct
ALTER TABLEsyntax (#3395) @tunetheweb - Postgres: Parse index with column sort (#3405) @greg-finley
- MySQL: Improve SET Syntax for Variable Assignment (#3394) @mdahlman
- Handle Postgres-style type casts when using the
colon_nospacestemplating style (#3383) @benji-york - Capitalization in help message (#3385) @mdahlman
- MySQL: Update keywords (#3381) @mdahlman
- Teradata: Database statement and Set Session Database (#3382) @mdahlman
New Contributors
- @benji-york made their first contribution in #3383
- @menzenski made their first contribution in #3430