Skip to content

Commit

Permalink
Merge pull request #74 from dbt-msft/hotfix-duplicate-test-mat
Browse files Browse the repository at this point in the history
re-implement sqlserver test materialization
  • Loading branch information
dataders authored Dec 17, 2021
2 parents 18431f7 + 53df3bf commit 44cb9ee
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 1 deletion.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Changelog

## v.1.0.1

### Fixes

- re-implement sqlserver's test materialization logic because Synapse adapter can't find it today [#74](https://github.com/dbt-msft/dbt-synapse/pull/74)

## v.1.0.0

Please see the following upstream release notes:
- [dbt-core v1.0.0](https://github.com/dbt-labs/dbt-core/releases/tag/v1.0.0)
- [dbt-sqlserver v1.0.0](https://github.com/dbt-msft/dbt-sqlserver/releases/tag/v1.0.0)

## v.0.21.0rc1

Please see the following upstream release notes:
Expand Down
2 changes: 1 addition & 1 deletion dbt/adapters/synapse/__version__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
version = '1.0.0'
version = '1.0.1'
48 changes: 48 additions & 0 deletions dbt/include/synapse/macros/materializations/tests/test.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{%- materialization test, adapter='synapse' -%}

{% set relations = [] %}

{% set identifier = model['alias'] %}
{% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}
{% set target_relation = api.Relation.create(
identifier=identifier, schema=schema, database=database, type='table') -%} %}


{% if old_relation %}
{% do adapter.drop_relation(old_relation) %}
{% elif not old_relation %}
{% do adapter.create_schema(target_relation) %}
{% endif %}

{% call statement(auto_begin=True) %}
{{ create_table_as(False, target_relation, sql) }}
{% endcall %}

{% set main_sql %}
select *
from {{ target_relation }}
{% endset %}

{{ adapter.commit() }}


{% set limit = config.get('limit') %}
{% set fail_calc = config.get('fail_calc') %}
{% set warn_if = config.get('warn_if') %}
{% set error_if = config.get('error_if') %}

{% call statement('main', fetch_result=True) -%}

{{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}

{%- endcall %}

{% if should_store_failures() %}
{% do relations.append(target_relation) %}
{% elif not should_store_failures() %}
{% do adapter.drop_relation(target_relation) %}
{% endif %}

{{ return({'relations': relations}) }}

{%- endmaterialization -%}

0 comments on commit 44cb9ee

Please sign in to comment.