Highlights
Major changes include:
- New Rule (L064) for preferred quotes for quoted literals
- Rule speed improvements and fixing performance regression from 0.12.0
- Add configuration option to disallow hanging indents in L003
- Add
ignore_words_regexconfiguration option for rules - New GitHub Annotations option
- Many bug fixes and dialect improvements
What’s Changed
- Redshift: Fix CREATE TABLE column constraints and COPY #3151 @tunetheweb
- New Rule L064: Consistent usage of preferred quotes for quoted literals #3118 @dmohns
- L025 bug fix: stop incorrectly flagging on nested inner joins #3145 @tunetheweb
- T-SQL: Add labels, as well as
GRANT/DENY/REVOKE#3149 @tunetheweb - Snowflake: allow bracketless
VALUESinFROMclauses #3141 @tunetheweb - T-SQL: Support
TRY_CONVERT#3143 @fdw - T-SQL: Support
NVARCHAR(MAX)#3130 @fdw - Allow column-less
INSERT INTOwith bracketedSELECTin ANSI and BigQuery #3139 @tunetheweb - Hive: Support dynamic partition insert #3126 @barunpuri
- T-SQL -
ALTER TABLE- add support forWITH CHECK ADD CONSTRAINTandCHECK CONSTRAINT#3132 @nevado - TSQL: Support names for transactions #3129 @fdw
- Snowflake:
StartsWith()inFromExpressionElementSegmentcaused performance issues for large queries #3128 @WittierDinosaur - Fix parsing of Compound Statements #3121 @jonyscathe
- SparkSQL: Update to support all valid Literal Types #3102 @R7L208
- TSQL: Exclude non-function-name keywords from function names #3112 @jpers36
- ANSI
AT TIME ZONEparsing improvements #3115 @tunetheweb - When fixing a file, preserve the input file's permissions #3114 @barrywhart
- Bug: L058 (flatten nested
CASE) triggers incorrectly (theELSEcontains additional code) #3113 @barrywhart - Bug fix: Handle "lint" human-format file output correctly #3109 @barrywhart
- L003: Add configuration option to disallow hanging indents #3063 @dmohns
- Add native Github-actions output #3107 @dmohns
- Improved signed literal parsing #3108 @tunetheweb
- Don't allow fixes to span template blocks #3105 @barrywhart
- Add
ignore_words_regexconfiguration option #3098 @dmohns - Redshift: Better
AT TIME ZONEsupport #3087 @tunetheweb - Fix In The Wild typo #3100 @sivaraam
- Snowflake: Add Create Storage Integration grammar. #3075 @jmc-bbk
- ANSI: Allow
indented_using_oninMERGEstatementsON#3096 @dmohns - Postgres: Support
COLLATEin more clauses #3095 @tunetheweb - BigQuery: Support
NORMALIZEfunction #3086 @tunetheweb - ANSI (and other dialects): Add
DROP FUNCTIONsupport #3082 @tunetheweb - Postgres: Support
DROP EXTENSION#3083 @tunetheweb - Snowflake: Fix bug in Describe Statement #3076 @jmc-bbk
- Update individual rules to take advantage of core rule processing changes #3041 @barrywhart
- L003 forgives non misbalanced Jinja tags #3065 @OTooleMichael
- Fix tsql dialect
EXEC = @Variable StoredProcFailed Parsing Bug (#3070) #3077 @MartynJones87 - Snowflake Dialect: Add External Function DDL #3071 @chrisalexeev
- SparkSQL: Support for Delta
UPDATEstatement syntax #3073 @R7L208 - SparkSQL: Test cases for Delta
DELETE FROMsyntax #3072 @R7L208 - Postgres: Support quoted
LANGUAGEparams #3068 @tunetheweb - Fix bug handling Jinja set with multiple vars, e.g.:
{% set a, b = 1, 2 %}#3066 @barrywhart - L007 should ignore templated newlines #3067 @barrywhart
- Allow aliases to pass L028 #3062 @tunetheweb
- Refactor core rule processing for flexibility and speed #3061 @barrywhart
- Add editorconfig and precommit for SQL and YML files #3058 @tunetheweb
- Rule L003 performance: Cache the line number and last newline position #3060 @barrywhart
- Fixed documentation for
sql_file_extsexample #3059 @KulykDmytro - BigQuery: Support
SAFEfunctions #3048 @tunetheweb - Postgres: Fix
UNNESTfor L025 #3054 @tunetheweb - Exasol:
CREATE/DROP/ALTER USER/ROLEclean up for consistency #3045 @tunetheweb - Postgres add
ALTER ROLE/ALTER USERsupport #3043 @mrf - Add CarePay to SQLFluff in the wild #3038 @pvonglehn
- Postgres: Add
ON CONFLICTGrammar #3027 @jmc-bbk - Add dialect to Docker test #3033 @tunetheweb
New Contributors
- @chrisalexeev made their first contribution in #3071
- @MartynJones87 made their first contribution in #3077
- @sivaraam made their first contribution in #3100
- @jonyscathe made their first contribution in #3121
- @barunpuri made their first contribution in #3126