dbt-sqlserver 1.8.0rc2__tar.gz → 1.8.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.
- {dbt-sqlserver-1.8.0rc2/dbt_sqlserver.egg-info → dbt-sqlserver-1.8.1}/PKG-INFO +1 -1
- dbt-sqlserver-1.8.1/dbt/adapters/sqlserver/__version__.py +1 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/materializations/snapshot/snapshot.sql +1 -0
- dbt-sqlserver-1.8.1/dbt/include/sqlserver/macros/materializations/unit_tests.sql +47 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/readme.md +4 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/relations/table/create.sql +3 -1
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/relations/views/create.sql +1 -1
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1/dbt_sqlserver.egg-info}/PKG-INFO +1 -1
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt_sqlserver.egg-info/SOURCES.txt +1 -0
- dbt-sqlserver-1.8.0rc2/dbt/adapters/sqlserver/__version__.py +0 -1
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/LICENSE +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/MANIFEST.in +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/README.md +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/__init__.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/relation_configs/__init__.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/relation_configs/policies.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_adapter.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_column.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_configs.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_connections.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_credentials.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_relation.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/__init__.py +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/dbt_project.yml +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/columns.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/indexes.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/metadata.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/relation.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/schemas.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/validate_sql.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/materializations/models/incremental/incremental.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/materializations/models/table/table.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/materializations/models/view/view.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/materializations/snapshot/helpers.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/materializations/snapshot/snapshot_merge.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/materializations/tests.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/relations/seeds/helpers.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/relations/table/clone.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/utils/split_part.sql +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/profile_template.yml +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt_sqlserver.egg-info/dependency_links.txt +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt_sqlserver.egg-info/requires.txt +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt_sqlserver.egg-info/top_level.txt +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/setup.cfg +0 -0
- {dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dbt-sqlserver
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.1
|
|
4
4
|
Summary: A Microsoft SQL Server adapter plugin for dbt
|
|
5
5
|
Home-page: https://github.com/dbt-msft/dbt-sqlserver
|
|
6
6
|
Author: Mikael Ene, Anders Swanson, Sam Debruyn, Cor Zuurmond, Cody Scott
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "1.8.1"
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
{% set temp_snapshot_relation_sql = model['compiled_code'].replace("'", "''") %}
|
|
37
37
|
{% call statement('create temp_snapshot_relation') %}
|
|
38
|
+
USE [{{ model.database}}];
|
|
38
39
|
EXEC('DROP VIEW IF EXISTS {{ temp_snapshot_relation.include(database=False) }};');
|
|
39
40
|
EXEC('create view {{ temp_snapshot_relation.include(database=False) }} as {{ temp_snapshot_relation_sql }};');
|
|
40
41
|
{% endcall %}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{% macro sqlserver__get_unit_test_sql(main_sql, expected_fixture_sql, expected_column_names) -%}
|
|
2
|
+
|
|
3
|
+
USE [{{ target.database }}];
|
|
4
|
+
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = '{{ target.schema }}')
|
|
5
|
+
BEGIN
|
|
6
|
+
EXEC('CREATE SCHEMA [{{ target.schema }}]')
|
|
7
|
+
END
|
|
8
|
+
|
|
9
|
+
{% set test_view %}
|
|
10
|
+
[{{ target.schema }}.testview_{{ range(1300, 19000) | random }}]
|
|
11
|
+
{% endset %}
|
|
12
|
+
{% set test_sql = main_sql.replace("'", "''")%}
|
|
13
|
+
EXEC('create view {{test_view}} as {{ test_sql }};')
|
|
14
|
+
|
|
15
|
+
{% set expected_view %}
|
|
16
|
+
[{{ target.schema }}.expectedview_{{ range(1300, 19000) | random }}]
|
|
17
|
+
{% endset %}
|
|
18
|
+
{% set expected_sql = expected_fixture_sql.replace("'", "''")%}
|
|
19
|
+
EXEC('create view {{expected_view}} as {{ expected_sql }};')
|
|
20
|
+
|
|
21
|
+
-- Build actual result given inputs
|
|
22
|
+
{% set unittest_sql %}
|
|
23
|
+
with dbt_internal_unit_test_actual as (
|
|
24
|
+
select
|
|
25
|
+
{% for expected_column_name in expected_column_names %}{{expected_column_name}}{% if not loop.last -%},{% endif %}{%- endfor -%}, {{ dbt.string_literal("actual") }} as {{ adapter.quote("actual_or_expected") }}
|
|
26
|
+
from
|
|
27
|
+
{{ test_view }}
|
|
28
|
+
),
|
|
29
|
+
-- Build expected result
|
|
30
|
+
dbt_internal_unit_test_expected as (
|
|
31
|
+
select
|
|
32
|
+
{% for expected_column_name in expected_column_names %}{{expected_column_name}}{% if not loop.last -%}, {% endif %}{%- endfor -%}, {{ dbt.string_literal("expected") }} as {{ adapter.quote("actual_or_expected") }}
|
|
33
|
+
from
|
|
34
|
+
{{ expected_view }}
|
|
35
|
+
)
|
|
36
|
+
-- Union actual and expected results
|
|
37
|
+
select * from dbt_internal_unit_test_actual
|
|
38
|
+
union all
|
|
39
|
+
select * from dbt_internal_unit_test_expected
|
|
40
|
+
{% endset %}
|
|
41
|
+
|
|
42
|
+
EXEC('{{- escape_single_quotes(unittest_sql) -}}')
|
|
43
|
+
|
|
44
|
+
EXEC('drop view {{test_view}};')
|
|
45
|
+
EXEC('drop view {{expected_view}};')
|
|
46
|
+
|
|
47
|
+
{%- endmacro %}
|
|
@@ -48,3 +48,7 @@ DBT expects a limit function, but the sqlserver syntax does not support it. Fabr
|
|
|
48
48
|
## `sqlserver__snapshot_merge_sql`
|
|
49
49
|
|
|
50
50
|
Restores logic to the merge statement logic like the dbt core. Merge will probably be slower then the existing logic
|
|
51
|
+
|
|
52
|
+
## unit tests
|
|
53
|
+
|
|
54
|
+
To accomidate the nested CTE situation, we create a temp view for the actual/expected and use those both in the test.
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
{%- set tmp_relation = relation.incorporate(path={"identifier": relation.identifier ~ '__dbt_tmp_vw'}, type='view') -%}
|
|
4
4
|
|
|
5
5
|
{%- do adapter.drop_relation(tmp_relation) -%}
|
|
6
|
+
USE [{{ relation.database }}];
|
|
6
7
|
{{ get_create_view_as_sql(tmp_relation, sql) }}
|
|
7
8
|
|
|
8
9
|
{%- set table_name -%}
|
|
9
|
-
{{ relation
|
|
10
|
+
{{ relation }}
|
|
10
11
|
{%- endset -%}
|
|
11
12
|
|
|
13
|
+
|
|
12
14
|
{%- set contract_config = config.get('contract') -%}
|
|
13
15
|
{%- set query -%}
|
|
14
16
|
{% if contract_config.enforced and (not temporary) %}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dbt-sqlserver
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.1
|
|
4
4
|
Summary: A Microsoft SQL Server adapter plugin for dbt
|
|
5
5
|
Home-page: https://github.com/dbt-msft/dbt-sqlserver
|
|
6
6
|
Author: Mikael Ene, Anders Swanson, Sam Debruyn, Cor Zuurmond, Cody Scott
|
|
@@ -23,6 +23,7 @@ dbt/include/sqlserver/macros/adapter/relation.sql
|
|
|
23
23
|
dbt/include/sqlserver/macros/adapter/schemas.sql
|
|
24
24
|
dbt/include/sqlserver/macros/adapter/validate_sql.sql
|
|
25
25
|
dbt/include/sqlserver/macros/materializations/tests.sql
|
|
26
|
+
dbt/include/sqlserver/macros/materializations/unit_tests.sql
|
|
26
27
|
dbt/include/sqlserver/macros/materializations/models/incremental/incremental.sql
|
|
27
28
|
dbt/include/sqlserver/macros/materializations/models/table/table.sql
|
|
28
29
|
dbt/include/sqlserver/macros/materializations/models/view/view.sql
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "1.8.0rc2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/relation_configs/__init__.py
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/relation_configs/policies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_connections.py
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/adapters/sqlserver/sqlserver_credentials.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/columns.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/indexes.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/metadata.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/relation.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/adapter/schemas.sql
RENAMED
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/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
|
|
File without changes
|
{dbt-sqlserver-1.8.0rc2 → dbt-sqlserver-1.8.1}/dbt/include/sqlserver/macros/utils/split_part.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|