dbt-adapters 1.1.1__tar.gz → 1.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dbt-adapters might be problematic. Click here for more details.
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/PKG-INFO +1 -1
- dbt_adapters-1.2.1/dbt/adapters/__about__.py +1 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/relation.py +2 -1
- dbt_adapters-1.2.1/dbt/adapters/record.py +67 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/sql/connections.py +9 -9
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql +1 -1
- dbt_adapters-1.1.1/dbt/adapters/__about__.py +0 -1
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/.gitignore +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/LICENSE +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/README.md +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/README.md +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/column.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/connections.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/impl.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/meta.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/plugin.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/query_headers.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/relation.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/cache.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/capability.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/clients/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/clients/jinja.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/connection.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/macros.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/README.md +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/adapter_types.proto +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/adapter_types_pb2.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/base_types.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/logging.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/types.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/alias.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/cache.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/compilation.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/connection.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/database.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/factory.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/protocol.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/py.typed +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/reference_keys.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/README.md +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/config_base.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/config_change.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/config_validation.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/sql/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/sql/impl.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/utils.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/__init__.py +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/dbt_project.yml +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/docs/overview.md +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/apply_grants.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/columns.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/freshness.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/indexes.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/metadata.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/persist_docs.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/relation.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/schema.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/show.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/timestamps.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/validate_sql.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/etc/datetime.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/etc/statement.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/not_null.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/relationships.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/unique.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/configs.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/hooks.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/clone/clone.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/merge.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/materialized_view.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/table.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/view.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/seeds/helpers.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/seeds/seed.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/helpers.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/strategies.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/helpers.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/test.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/unit.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/where_subquery.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/python_model/python.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/create.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/create_backup.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/create_intermediate.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/drop.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/drop_backup.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/alter.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/create.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/drop.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/refresh.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/rename.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/replace.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/rename.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/rename_intermediate.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/replace.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/schema.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/create.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/drop.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/rename.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/replace.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/create.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/drop.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/rename.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/replace.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/any_value.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_append.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_concat.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_construct.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/bool_or.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/cast.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/cast_bool_to_text.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/concat.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/data_types.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date_spine.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date_trunc.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/dateadd.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/datediff.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/escape_single_quotes.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/except.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/generate_series.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/hash.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/intersect.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/last_day.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/length.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/listagg.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/literal.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/position.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/replace.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/right.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/safe_cast.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/split_part.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/tests/generic/builtin.sql +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/py.typed +0 -0
- {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dbt-adapters
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.1
|
|
4
4
|
Summary: The set of adapter protocols and base functionality that supports integration with dbt-core
|
|
5
5
|
Project-URL: Homepage, https://github.com/dbt-labs/dbt-adapters
|
|
6
6
|
Project-URL: Documentation, https://docs.getdbt.com
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "1.2.1"
|
|
@@ -18,8 +18,9 @@ class RelationType(StrEnum):
|
|
|
18
18
|
View = "view"
|
|
19
19
|
CTE = "cte"
|
|
20
20
|
MaterializedView = "materialized_view"
|
|
21
|
-
External = "external"
|
|
22
21
|
Ephemeral = "ephemeral"
|
|
22
|
+
# this is a "catch all" that is better than `None` == external to anything dbt is aware of
|
|
23
|
+
External = "external"
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
class MaterializationContract(Protocol):
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import dataclasses
|
|
2
|
+
from io import StringIO
|
|
3
|
+
import json
|
|
4
|
+
import re
|
|
5
|
+
from typing import Any, Optional, Mapping
|
|
6
|
+
|
|
7
|
+
from agate import Table
|
|
8
|
+
|
|
9
|
+
from dbt_common.events.contextvars import get_node_info
|
|
10
|
+
from dbt_common.record import Record, Recorder
|
|
11
|
+
|
|
12
|
+
from dbt.adapters.contracts.connection import AdapterResponse
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclasses.dataclass
|
|
16
|
+
class QueryRecordParams:
|
|
17
|
+
sql: str
|
|
18
|
+
auto_begin: bool = False
|
|
19
|
+
fetch: bool = False
|
|
20
|
+
limit: Optional[int] = None
|
|
21
|
+
node_unique_id: Optional[str] = None
|
|
22
|
+
|
|
23
|
+
def __post_init__(self) -> None:
|
|
24
|
+
if self.node_unique_id is None:
|
|
25
|
+
node_info = get_node_info()
|
|
26
|
+
self.node_unique_id = node_info["unique_id"] if node_info else ""
|
|
27
|
+
|
|
28
|
+
@staticmethod
|
|
29
|
+
def _clean_up_sql(sql: str) -> str:
|
|
30
|
+
sql = re.sub(r"--.*?\n", "", sql) # Remove single-line comments (--)
|
|
31
|
+
sql = re.sub(r"/\*.*?\*/", "", sql, flags=re.DOTALL) # Remove multi-line comments (/* */)
|
|
32
|
+
return sql.replace(" ", "").replace("\n", "")
|
|
33
|
+
|
|
34
|
+
def _matches(self, other: "QueryRecordParams") -> bool:
|
|
35
|
+
return self.node_unique_id == other.node_unique_id and self._clean_up_sql(
|
|
36
|
+
self.sql
|
|
37
|
+
) == self._clean_up_sql(other.sql)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@dataclasses.dataclass
|
|
41
|
+
class QueryRecordResult:
|
|
42
|
+
adapter_response: Optional["AdapterResponse"]
|
|
43
|
+
table: Optional[Table]
|
|
44
|
+
|
|
45
|
+
def _to_dict(self) -> Any:
|
|
46
|
+
buf = StringIO()
|
|
47
|
+
self.table.to_json(buf) # type: ignore
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
"adapter_response": self.adapter_response.to_dict(), # type: ignore
|
|
51
|
+
"table": buf.getvalue(),
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def _from_dict(cls, dct: Mapping) -> "QueryRecordResult":
|
|
56
|
+
return QueryRecordResult(
|
|
57
|
+
adapter_response=AdapterResponse.from_dict(dct["adapter_response"]),
|
|
58
|
+
table=Table.from_object(json.loads(dct["table"])),
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class QueryRecord(Record):
|
|
63
|
+
params_cls = QueryRecordParams
|
|
64
|
+
result_cls = QueryRecordResult
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
Recorder.register_record_type(QueryRecord)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
import time
|
|
3
|
-
from typing import Any, Dict, Iterable, List, Optional, Tuple, TYPE_CHECKING
|
|
3
|
+
from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, TYPE_CHECKING
|
|
4
4
|
|
|
5
5
|
from dbt_common.events.contextvars import get_node_info
|
|
6
6
|
from dbt_common.events.functions import fire_event
|
|
7
7
|
from dbt_common.exceptions import DbtInternalError, NotImplementedError
|
|
8
|
+
from dbt_common.record import record_function
|
|
8
9
|
from dbt_common.utils import cast_to_str
|
|
9
10
|
|
|
10
11
|
from dbt.adapters.base import BaseConnectionManager
|
|
@@ -19,6 +20,7 @@ from dbt.adapters.events.types import (
|
|
|
19
20
|
SQLQuery,
|
|
20
21
|
SQLQueryStatus,
|
|
21
22
|
)
|
|
23
|
+
from dbt.adapters.record import QueryRecord
|
|
22
24
|
|
|
23
25
|
if TYPE_CHECKING:
|
|
24
26
|
import agate
|
|
@@ -110,27 +112,24 @@ class SQLConnectionManager(BaseConnectionManager):
|
|
|
110
112
|
@classmethod
|
|
111
113
|
def process_results(
|
|
112
114
|
cls, column_names: Iterable[str], rows: Iterable[Any]
|
|
113
|
-
) ->
|
|
114
|
-
# TODO CT-211
|
|
115
|
+
) -> Iterator[Dict[str, Any]]:
|
|
115
116
|
unique_col_names = dict() # type: ignore[var-annotated]
|
|
116
|
-
# TODO CT-211
|
|
117
117
|
for idx in range(len(column_names)): # type: ignore[arg-type]
|
|
118
|
-
# TODO CT-211
|
|
119
118
|
col_name = column_names[idx] # type: ignore[index]
|
|
120
119
|
if col_name in unique_col_names:
|
|
121
120
|
unique_col_names[col_name] += 1
|
|
122
|
-
# TODO CT-211
|
|
123
121
|
column_names[idx] = f"{col_name}_{unique_col_names[col_name]}" # type: ignore[index] # noqa
|
|
124
122
|
else:
|
|
125
|
-
# TODO CT-211
|
|
126
123
|
unique_col_names[column_names[idx]] = 1 # type: ignore[index]
|
|
127
|
-
|
|
124
|
+
|
|
125
|
+
for row in rows:
|
|
126
|
+
yield dict(zip(column_names, row))
|
|
128
127
|
|
|
129
128
|
@classmethod
|
|
130
129
|
def get_result_from_cursor(cls, cursor: Any, limit: Optional[int]) -> "agate.Table":
|
|
131
130
|
from dbt_common.clients.agate_helper import table_from_data_flat
|
|
132
131
|
|
|
133
|
-
data:
|
|
132
|
+
data: Iterable[Any] = []
|
|
134
133
|
column_names: List[str] = []
|
|
135
134
|
|
|
136
135
|
if cursor.description is not None:
|
|
@@ -143,6 +142,7 @@ class SQLConnectionManager(BaseConnectionManager):
|
|
|
143
142
|
|
|
144
143
|
return table_from_data_flat(data, column_names)
|
|
145
144
|
|
|
145
|
+
@record_function(QueryRecord, method=True, tuple_result=True)
|
|
146
146
|
def execute(
|
|
147
147
|
self,
|
|
148
148
|
sql: str,
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
{%- endif -%}
|
|
16
16
|
|
|
17
17
|
{%- if not column_name_to_data_types -%}
|
|
18
|
-
{{ exceptions.raise_compiler_error("Not able to get columns for unit test '" ~ model.name ~ "' from relation " ~ this) }}
|
|
18
|
+
{{ exceptions.raise_compiler_error("Not able to get columns for unit test '" ~ model.name ~ "' from relation " ~ this ~ " because the relation doesn't exist") }}
|
|
19
19
|
{%- endif -%}
|
|
20
20
|
|
|
21
21
|
{%- for column_name, column_type in column_name_to_data_types.items() -%}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "1.1.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/config_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/columns.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/freshness.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/indexes.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/metadata.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/relation.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/schema.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/show.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/timestamps.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/etc/datetime.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/etc/statement.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/python_model/python.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/create.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/drop.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/rename.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/replace.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/schema.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/drop.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/drop.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/any_value.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_append.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_concat.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/bool_or.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/concat.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/data_types.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date_spine.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date_trunc.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/dateadd.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/datediff.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/except.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/intersect.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/last_day.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/length.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/listagg.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/literal.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/position.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/replace.sql
RENAMED
|
File without changes
|
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/safe_cast.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/split_part.sql
RENAMED
|
File without changes
|
{dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/tests/generic/builtin.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|