This release brings a few minor breaking changes, both for the core project and for the dbt templater. For the main project:
Resolving an issue with the spacing of functions (LT01), which involved a change to how functions are parsed. If your project relies on the specific parsing of functions, the bracketed arguments are now wrapped in a function_contents object. We recommend that you examine the new parsing structure using this new release in testing first.
RF06 (references.quoting) is now case sensitive when removing quotes which are detected as unnecessary. This rule has also been re-enabled by default for Snowflake and Postgres where it had previously been disabled (for the reason that in the past it hadn't been appropriately case sensitive). Treatment for totally case-insensitive dialects like DuckDB and SparkSQL have also been included. Please check the new documentation for this rule (which is much more explicit now), for details related to your dialect.
Patterns equivalent to those from .sqlfluffignore can now be included in .sqlfluff and pyproject.toml files.
Using the python templater, users now have an option to include variables which include a dot in the path, like {{ foo.bar }} using a special sqlfluff context variable.
Significant changes under the hood to the handling of configuration files. Most of these should not be visible to end users, but for anyone integrating SQLFluff into a larger project and relying on native file loading may need to refactor their project for this release. Most notably here, for maintainers of plugins, the ConfigLoader class has been deprecated, and plugins should instead call the config loading functions directly. See the example plugin for details.
Documentation, especially for dialects, has been significantly improved. Documentation for CP02 (capitalisation.identifiers) has also been clarified to make it's implication for references and aliases more clear.
During testing, to isolate the effect of specific rules, there's a new CLI option --disable-noqa-except which allows all noqa options to be ignored except the ones provided in this option.
For the dbt templater:
Support for dbt 1.1-1.3 has been removed. All have been in End of Life (EOL) support by dbtlabs for almost two years. They are also poorly supported by other projects and tools.
The dbt templater has been migrated to use pyproject.toml.
Handling of errors and exceptions raised within dbt has had an overhaul. Users may see a slightly different presentation of errors, but the overall stability should be more robust.
In addition to those changes, there have been too many dialect contributions and bugfixes to mention specifically. We've also seen six people make their first contributions to the project as part of preparing for this release! 🎉🏆🎉.
This release brings a few minor breaking changes, both for the core project
and for the dbt templater. For the main project:
Resolving an issue with the spacing of functions (LT01), which
involved a change to how functions are parsed. If your project relies
on the specific parsing of functions, the bracketed arguments are now
wrapped in a function_contents object. We recommend that you examine
the new parsing structure using this new release in testing first.
RF06 (references.quoting) is now case sensitive when removing
quotes which are detected as unnecessary. This rule has also been re-enabled
by default for Snowflake and Postgres where it had previously been disabled
(for the reason that in the past it hadn't been appropriately case
sensitive). Treatment for totally case-insensitive dialects like DuckDB
and SparkSQL have also been included. Please check the new documentation
for this rule (which is much more explicit now), for details related to
your dialect.
Patterns equivalent to those from .sqlfluffignore can now be included
in .sqlfluff and pyproject.toml files.
Using the python templater, users now have an option to include variables
which include a dot in the path, like {{ foo.bar }} using a special
sqlfluff context variable.
Significant changes under the hood to the handling of configuration files.
Most of these should not be visible to end users, but for anyone integrating
SQLFluff into a larger project and relying on native file loading may need
to refactor their project for this release. Most notably here, for maintainers
of plugins, the ConfigLoader class has been deprecated, and plugins should
instead call the config loading functions directly. See the example plugin
for details.
Documentation, especially for dialects, has been significantly improved.
Documentation for CP02 (capitalisation.identifiers) has also been
clarified to make it's implication for references and aliases more clear.
During testing, to isolate the effect of specific rules, there's a new
CLI option --disable-noqa-except which allows all noqa options to
be ignored except the ones provided in this option.
For the dbt templater:
Support for dbt 1.1-1.3 has been removed. All have been in End of Life (EOL)
support by dbtlabs for almost two years. They are also poorly supported by
other projects and tools.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps sqlfluff from 3.1.1 to 3.2.0.
Release notes
Sourced from sqlfluff's releases.
... (truncated)
Changelog
Sourced from sqlfluff's changelog.
... (truncated)
Commits
2605df0
Prep version 3.2.0 (#6187)9463a7a
Handle multi-processing dbt exceptions much better. (#6138)d678956
Support variables with dot in python templater (#5872)178a0c9
Add postgres normalization operator support (#6211)b619b4f
Fix patch will anchor on first buffer insertion point (#6212)91690be
Allow ignore patterns in other config files. (#6130)712556b
Strict typing inconfig
andhelpers
. (#6206)59d89df
TSQL: Support multiple options inSET
statement (#6205)261633c
DuckDB: SupportCREATE TYPE
statement (#6204)b3b78f5
Update Slack link (#6203)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show