v1.12.0rc1
Pre-releasedbt-sqlserver v1.12.0rc1
Together with @Benjamin-Knight and @joshmarkovic, we used the releases leading up to v1.11.0 to bring the adapter closer to current dbt-core versions while fixing several bugs along the way.
The v1.12.x release series formalizes that work and begins addressing the deprecations and behavior changes required to align the adapter with upcoming dbt-core v2.0 behavior and its pending migration. This includes support for the v2 parser, which will be available for use in this project. Please leave any insights on discussions.
Important behavior changes
This release changes several defaults. Review the following items carefully before upgrading.
-
pyodbcis no longer included in the default installation.You must explicitly choose and install the backend you want to use, suggested ADBC if you want to test future compatibility (mostly user pass login), or mssql-python otherwise.
-
dbt_sqlserver_use_dbt_transactionsnow defaults toTrue.dbt-managed transaction hooks now emit real
BEGIN TRANSACTIONandCOMMIT TRANSACTIONT-SQL statements instead of no-ops.As a result, when a model fails, its statements are rolled back rather than potentially leaving partial results behind under autocommit.
Setting this option to
Falsepreserves the legacy autocommit behavior. This option is deprecated and will be removed in a future release. -
dbt_sqlserver_use_native_string_typesnow defaults toTrue.String types now use the following mappings:
STRING→VARCHAR(MAX)NCHAR→NCHAR(1)NVARCHAR→NVARCHAR(4000)
Previously, the adapter used legacy mappings such as
VARCHAR(8000)andCHAR(1).Setting this option to
Falsepreserves the legacy behavior. This option is deprecated and will be removed in a future release. -
An experimental ADBC backend is now available.
Configure it with:
backend: adbc
This backend provides an alternative to
pyodbcandmssql-python. It is built on [ADBC](https://arrow.apache.org/adbc/) and connects to SQL Server throughgo-mssqldbrather than an ODBC or DB-API bridge.Install it with the
dbt-sqlserver[adbc]extra and the separate driver binary installed through thedbcCLI.The initial implementation supports SQL Server username-and-password authentication only.
See [docs/adbc_backend.md](docs/adbc_backend.md) and [#771](#771) for details.
What's Changed
- Added dbt-core 1.12 compatibility, Python 3.14 support, and transaction-safety fixes by @axellpadilla in [#772](#772)
- Added a workflow to synchronize the
mainbranch in preparation for the default-branch migration by @axellpadilla in [#781](#781) - Added a compiler error for the deprecated
sql_headerconfiguration, with guidance to usepre_hooksorquery_options, by @axellpadilla in [#777](#777) - Added the experimental ADBC backend by @axellpadilla in [#783](#783)
Full Changelog: [v1.11.0...v1.12.0rc1](v1.11.0...v1.12.0rc1)