Replies: 3 comments 1 reply
-
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Hi @dataders, now that 1.6.0rc1 has already been released, do you plan to update |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
Hi everyone! Are you still planning to add info on how to stub materialized views elegantly? Thanks in advance :) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
This discussion is for communicating to adapter maintainers the scope of work needed to make use of the changes in 1.6.0. If you have questions and concerns, please ask them here for posterity.
Please consider this a living document between now and the date of final release. If there's something missing, please comment below!
release timeline
The below table gives the milestones between up to and including the final release. It will be updated with each subsequent release
1.5.01.6.0b61.6.0b61.6.0rc11.6.01.6 (latest)prior maintainer upgrade versions
Changes
as an adapter maintainer, there's three options for new features in dbt Core:
Example diffs from dbt Labs-owned adapters
Below gives the changes as of the latest beta release (as of June 26). The canonical way to check the diff of a minor version is
compare/v1.4.0...1.5.latest, but the1.5.latestbranch is not created until thercis released.Areas to consider
note: 🚧 means that this guide is not yet complete and "BtS" is short for Behind the Scenes, ie not a user-facing change
[FEATURE] Materialized Views
Context
original issue: #6911
How to support
a more comprehensive guide is still forthcoming, but for now, please refer to the following PRs to learn more
relevant PRs:
Of particular interested would are:
core/dbt/include/global_project/macros/materializations/models/materialized_view/materialized_view.sql)plugins/postgres/dbt/include/postgres/macros/materializations/materialized_view.sql))postgres__get_alter_materialized_view_as_sqlpostgres__get_create_materialized_view_as_sqlpostgres__get_replace_materialized_view_as_sqlpostgres__get_materialized_view_configuration_changespostgres__refresh_materialized_viewpostgres__update_indexes_on_materialized_viewpostgres__describe_materialized_viewmaterialization: dynamic_tablesnowflake__create_table_as(add ais_dynamicconditional)snowflake__drop_relation_sql(add ais_dynamicconditional)snowflake__alter_dynamic_table_sqlsnowflake__create_dynamic_table_sqlsnowflake__describe_dynamic_tablesnowflake__drop_dynamic_table_sqlsnowflake__refresh_dynamic_table_sqlsnowflake__replace_dynamic_table_sqlsnowflake__alter_dynamic_table_sql_with_on_configuration_change_optiondynamic_table_execute_no_opdynamic_table_execute_build_sqlHow to stub elegantly
to be completed
What if you do nothing
The default MV DDL statements will be sent to your engine, that will react accordingly - unless you already support MVs, in which case your implementation will superseed this one
[BtS] Drop support for Py 3.7
Context
see #7082. As of June 2023, Python 3.7 is now “End of Life” (EOL)
How to (remove) support
modify the
python_requiresspecifier in your packagessetup.pyas well as any other mentions of3.7to use3.8as the minimum version. Also give yourself the gift of not testing against 3.7 moving forward.What if you do nothing
You'll likely get security bots flagging vulnerability issues, and users may encounter strange bugs/errors for which there will be no official fix from the Python Software Foundation
[FEATURE] `dbt clone`
Context
dbt clone(docs page)How to support
If your data platform supports the capability to clone, then there are two macros to override:
can_clone_table(), andcreate_or_replace_clone()See below for the versions introduced to the BigQuery adapter via dbt-bigquery#784.
{% macro bigquery__can_clone_table() %} {{ return(True) }} {% endmacro %} {% macro bigquery__create_or_replace_clone(this_relation, defer_relation) %} create or replace table {{ this_relation }} clone {{ defer_relation }} {% endmacro %}What if you do nothing
tbc
[BtS] revamp of `dbt debug`
Context
See dbt-core#7104
How to support
There is a new Adapter method,
.debug_query(), whose default value isselect 1 as id. If this does not work on your supported data platform, you may override it.Also, an existing test was modified to test the new command-line flag functionality.
TestDebugPostgres(sauce)What if you do nothing
no end-user impact
[BtS] new arg for `adapter.execute()`
Context
To more fully support
dbt show, we needed the ability to fetch only the rows that users specified via command-line flag. The behavior shipped in1.5would needlessly fetch the entire user-supplied query, then after return the specified number of rows.The new argument is called
limit(source)
How to support
If your adapter over-rides SQLConnectionManager.execute(), you must include
limitin it's function signatureAdditionally, if your adapter overrides dbt-core's
BaseAdapter.execute(), you must also update that method to include thelimitparameter.What if you do nothing
Things likely won't work for end users
[BtS] Adapter zone tests
The first step before starting to the upgrade process is to sure to bump the version of
dbt-tests-adapterNew tests
There are more tests in the adapter-zone test suite (
tests/adapter/dbt/tests/adapter/). Some tests were introduced for new features and others to cover bugs that were fixed for this minor versionWithin using the following command
below is a non-exhaustive list of some of the newly introduced tests
TestIncrementalConstraintsRollbackTestTableContractSqlHeaderTestIncrementalContractSqlHeaderTestModelConstraintsRuntimeEnforcementTestConstraintQuotedColumnTestEqualsTestMixedNullCompareTestNullCompareTestPostgresCloneNotPossibleTestValidateSqlMethodBeta Was this translation helpful? Give feedback.
All reactions