dbt-sqlserver 1.8.6__tar.gz → 1.9.0__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.
- {dbt-sqlserver-1.8.6/dbt_sqlserver.egg-info → dbt-sqlserver-1.9.0}/PKG-INFO +1 -1
- dbt-sqlserver-1.9.0/dbt/adapters/sqlserver/__version__.py +1 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/sqlserver_adapter.py +6 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/sqlserver_relation.py +26 -1
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/dbt_project.yml +1 -1
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/columns.sql +25 -0
- dbt-sqlserver-1.9.0/dbt/include/sqlserver/macros/materializations/models/incremental/merge.sql +31 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/tests.sql +1 -1
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/unit_tests.sql +2 -2
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0/dbt_sqlserver.egg-info}/PKG-INFO +1 -1
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt_sqlserver.egg-info/SOURCES.txt +1 -0
- dbt-sqlserver-1.9.0/dbt_sqlserver.egg-info/requires.txt +4 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/setup.py +4 -4
- dbt-sqlserver-1.8.6/dbt/adapters/sqlserver/__version__.py +0 -1
- dbt-sqlserver-1.8.6/dbt_sqlserver.egg-info/requires.txt +0 -4
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/LICENSE +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/MANIFEST.in +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/README.md +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/__init__.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/relation_configs/__init__.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/relation_configs/policies.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/sqlserver_column.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/sqlserver_configs.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/sqlserver_connections.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/sqlserver_credentials.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/__init__.py +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/catalog.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/indexes.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/metadata.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/relation.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/schemas.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/validate_sql.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/models/incremental/incremental.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/models/table/table.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/models/view/view.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/snapshot/helpers.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/snapshot/snapshot.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/materializations/snapshot/snapshot_merge.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/readme.md +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/seeds/helpers.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/table/clone.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/table/create.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/views/create.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/utils/split_part.sql +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/profile_template.yml +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt_sqlserver.egg-info/dependency_links.txt +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt_sqlserver.egg-info/top_level.txt +0 -0
- {dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/setup.cfg +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "1.9.0"
|
|
@@ -59,3 +59,9 @@ class SQLServerAdapter(FabricAdapter):
|
|
|
59
59
|
@classmethod
|
|
60
60
|
def date_function(cls):
|
|
61
61
|
return "getdate()"
|
|
62
|
+
|
|
63
|
+
def valid_incremental_strategies(self):
|
|
64
|
+
"""The set of standard builtin strategies which this adapter supports out-of-the-box.
|
|
65
|
+
Not used to validate custom strategies defined by end users.
|
|
66
|
+
"""
|
|
67
|
+
return ["append", "delete+insert", "merge", "microbatch"]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
2
|
from typing import Optional, Type
|
|
3
3
|
|
|
4
|
-
from dbt.adapters.base.relation import BaseRelation
|
|
4
|
+
from dbt.adapters.base.relation import BaseRelation, EventTimeFilter
|
|
5
5
|
from dbt.adapters.utils import classproperty
|
|
6
6
|
from dbt_common.exceptions import DbtRuntimeError
|
|
7
7
|
|
|
@@ -49,3 +49,28 @@ class SQLServerRelation(BaseRelation):
|
|
|
49
49
|
|
|
50
50
|
def relation_max_name_length(self):
|
|
51
51
|
return MAX_CHARACTERS_IN_IDENTIFIER
|
|
52
|
+
|
|
53
|
+
def _render_event_time_filtered(self, event_time_filter: EventTimeFilter) -> str:
|
|
54
|
+
"""
|
|
55
|
+
Returns "" if start and end are both None
|
|
56
|
+
"""
|
|
57
|
+
filter = ""
|
|
58
|
+
if event_time_filter.start and event_time_filter.end:
|
|
59
|
+
filter = (
|
|
60
|
+
f"{event_time_filter.field_name} >="
|
|
61
|
+
f" cast('{event_time_filter.start}' as datetimeoffset)"
|
|
62
|
+
f" and {event_time_filter.field_name} <"
|
|
63
|
+
f" cast('{event_time_filter.end}' as datetimeoffset)"
|
|
64
|
+
)
|
|
65
|
+
elif event_time_filter.start:
|
|
66
|
+
filter = (
|
|
67
|
+
f"{event_time_filter.field_name} >="
|
|
68
|
+
f" cast('{event_time_filter.start}' as datetimeoffset)"
|
|
69
|
+
)
|
|
70
|
+
elif event_time_filter.end:
|
|
71
|
+
filter = (
|
|
72
|
+
f"{event_time_filter.field_name} <"
|
|
73
|
+
f" cast('{event_time_filter.end}' as datetimeoffset)"
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
return filter
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/columns.sql
RENAMED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
{% macro sqlserver__get_empty_subquery_sql(select_sql, select_sql_header=none) %}
|
|
2
|
+
{% if select_sql.strip().lower().startswith('with') %}
|
|
3
|
+
{{ select_sql }}
|
|
4
|
+
{% else -%}
|
|
5
|
+
select * from (
|
|
6
|
+
{{ select_sql }}
|
|
7
|
+
) dbt_sbq_tmp
|
|
8
|
+
where 1 = 0
|
|
9
|
+
{%- endif -%}
|
|
10
|
+
|
|
11
|
+
{% endmacro %}
|
|
12
|
+
|
|
13
|
+
{% macro sqlserver__get_columns_in_query(select_sql) %}
|
|
14
|
+
{% set query_label = apply_label() %}
|
|
15
|
+
{% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}
|
|
16
|
+
select TOP 0 * from (
|
|
17
|
+
{{ select_sql }}
|
|
18
|
+
) as __dbt_sbq
|
|
19
|
+
where 0 = 1
|
|
20
|
+
{{ query_label }}
|
|
21
|
+
{% endcall %}
|
|
22
|
+
|
|
23
|
+
{{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}
|
|
24
|
+
{% endmacro %}
|
|
25
|
+
|
|
1
26
|
{% macro sqlserver__alter_column_type(relation, column_name, new_column_type) %}
|
|
2
27
|
|
|
3
28
|
{%- set tmp_column = column_name + "__dbt_alter" -%}
|
dbt-sqlserver-1.9.0/dbt/include/sqlserver/macros/materializations/models/incremental/merge.sql
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{% macro sqlserver__get_incremental_microbatch_sql(arg_dict) %}
|
|
2
|
+
{%- set target = arg_dict["target_relation"] -%}
|
|
3
|
+
{%- set source = arg_dict["temp_relation"] -%}
|
|
4
|
+
{%- set dest_columns = arg_dict["dest_columns"] -%}
|
|
5
|
+
{%- set incremental_predicates = [] if arg_dict.get('incremental_predicates') is none else arg_dict.get('incremental_predicates') -%}
|
|
6
|
+
|
|
7
|
+
{#-- Add additional incremental_predicates to filter for batch --#}
|
|
8
|
+
{% if model.config.get("__dbt_internal_microbatch_event_time_start") -%}
|
|
9
|
+
{{ log("incremental append event start time > DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " >= cast('" ~ model.config.__dbt_internal_microbatch_event_time_start ~ "' as datetimeoffset)") }}
|
|
10
|
+
{% do incremental_predicates.append("DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " >= cast('" ~ model.config.__dbt_internal_microbatch_event_time_start ~ "' as datetimeoffset)") %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
{% if model.config.__dbt_internal_microbatch_event_time_end -%}
|
|
13
|
+
{{ log("incremental append event end time < DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " < cast('" ~ model.config.__dbt_internal_microbatch_event_time_end ~ "' as datetimeoffset)") }}
|
|
14
|
+
{% do incremental_predicates.append("DBT_INTERNAL_TARGET." ~ model.config.event_time ~ " < cast('" ~ model.config.__dbt_internal_microbatch_event_time_end ~ "' as datetimeoffset)") %}
|
|
15
|
+
{% endif %}
|
|
16
|
+
{% do arg_dict.update({'incremental_predicates': incremental_predicates}) %}
|
|
17
|
+
|
|
18
|
+
delete DBT_INTERNAL_TARGET from {{ target }} AS DBT_INTERNAL_TARGET
|
|
19
|
+
where (
|
|
20
|
+
{% for predicate in incremental_predicates %}
|
|
21
|
+
{%- if not loop.first %}and {% endif -%} {{ predicate }}
|
|
22
|
+
{% endfor %}
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
{%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute="name")) -%}
|
|
26
|
+
insert into {{ target }} ({{ dest_cols_csv }})
|
|
27
|
+
(
|
|
28
|
+
select {{ dest_cols_csv }}
|
|
29
|
+
from {{ source }}
|
|
30
|
+
)
|
|
31
|
+
{% endmacro %}
|
|
@@ -7,13 +7,13 @@ EXEC('CREATE SCHEMA [{{ target.schema }}]')
|
|
|
7
7
|
END
|
|
8
8
|
|
|
9
9
|
{% set test_view %}
|
|
10
|
-
[{{ target.schema }}.testview_{{ range(1300, 19000) | random }}]
|
|
10
|
+
[{{ target.schema }}].[testview_{{ local_md5(main_sql) }}_{{ range(1300, 19000) | random }}]
|
|
11
11
|
{% endset %}
|
|
12
12
|
{% set test_sql = main_sql.replace("'", "''")%}
|
|
13
13
|
EXEC('create view {{test_view}} as {{ test_sql }};')
|
|
14
14
|
|
|
15
15
|
{% set expected_view %}
|
|
16
|
-
[{{ target.schema }}.expectedview_{{ range(1300, 19000) | random }}]
|
|
16
|
+
[{{ target.schema }}].[expectedview_{{ local_md5(expected_fixture_sql) }}_{{ range(1300, 19000) | random }}]
|
|
17
17
|
{% endset %}
|
|
18
18
|
{% set expected_sql = expected_fixture_sql.replace("'", "''")%}
|
|
19
19
|
EXEC('create view {{expected_view}} as {{ expected_sql }};')
|
|
@@ -26,6 +26,7 @@ dbt/include/sqlserver/macros/adapter/validate_sql.sql
|
|
|
26
26
|
dbt/include/sqlserver/macros/materializations/tests.sql
|
|
27
27
|
dbt/include/sqlserver/macros/materializations/unit_tests.sql
|
|
28
28
|
dbt/include/sqlserver/macros/materializations/models/incremental/incremental.sql
|
|
29
|
+
dbt/include/sqlserver/macros/materializations/models/incremental/merge.sql
|
|
29
30
|
dbt/include/sqlserver/macros/materializations/models/table/table.sql
|
|
30
31
|
dbt/include/sqlserver/macros/materializations/models/view/view.sql
|
|
31
32
|
dbt/include/sqlserver/macros/materializations/snapshot/helpers.sql
|
|
@@ -8,7 +8,7 @@ from setuptools.command.install import install
|
|
|
8
8
|
|
|
9
9
|
package_name = "dbt-sqlserver"
|
|
10
10
|
authors_list = ["Mikael Ene", "Anders Swanson", "Sam Debruyn", "Cor Zuurmond", "Cody Scott"]
|
|
11
|
-
dbt_version = "1.
|
|
11
|
+
dbt_version = "1.9"
|
|
12
12
|
description = """A Microsoft SQL Server adapter plugin for dbt"""
|
|
13
13
|
|
|
14
14
|
this_directory = os.path.abspath(os.path.dirname(__file__))
|
|
@@ -66,10 +66,10 @@ setup(
|
|
|
66
66
|
packages=find_namespace_packages(include=["dbt", "dbt.*"]),
|
|
67
67
|
include_package_data=True,
|
|
68
68
|
install_requires=[
|
|
69
|
-
"dbt-fabric
|
|
70
|
-
"dbt-core>=1.
|
|
69
|
+
"dbt-fabric==1.9.3",
|
|
70
|
+
"dbt-core>=1.9.0,<2.0",
|
|
71
71
|
"dbt-common>=1.0,<2.0",
|
|
72
|
-
"dbt-adapters>=1.
|
|
72
|
+
"dbt-adapters>=1.11.0,<2.0",
|
|
73
73
|
],
|
|
74
74
|
cmdclass={
|
|
75
75
|
"verify": VerifyVersionCommand,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "1.8.6"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/relation_configs/__init__.py
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/adapters/sqlserver/relation_configs/policies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/catalog.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/indexes.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/metadata.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/relation.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/schemas.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/adapter/validate_sql.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-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/seeds/helpers.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/table/clone.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/table/create.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/relations/views/create.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.6 → dbt-sqlserver-1.9.0}/dbt/include/sqlserver/macros/utils/split_part.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|