Skip to content

Commit c64b520

Browse files
authored
Merge pull request #312 from swanderz/dispatch-ify-schema-tests
dispatch-ify ALL THE MACROS!
2 parents 86cb6eb + 20034bd commit c64b520

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+199
-32
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- Speed up CI via threads, workflows ([#315](https://github.com/fishtown-analytics/dbt-utils/pull/315), [#316](https://github.com/fishtown-analytics/dbt-utils/pull/316))
88
- Fix `equality` test when used with ephemeral models + explicit column set ([#321](https://github.com/fishtown-analytics/dbt-utils/pull/321))
99
- Fix `get_query_results_as_dict` integration test with consistent ordering ([#322](https://github.com/fishtown-analytics/dbt-utils/pull/322))
10+
- All macros are now properly dispatched, making it possible for non-core adapters to implement a shim package for dbt-utils ([#312](https://github.com/fishtown-analytics/dbt-utils/pull/312)) Thanks [@chaerinlee1](https://github.com/chaerinlee1) and [@swanderz](https://github.com/swanderz)
1011

1112
# dbt-utils v0.6.3
1213

macros/cross_db_utils/concat.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22

33
{% macro concat(fields) -%}
4-
{{ adapter.dispatch('concat', packages = dbt_utils._get_utils_namespaces())(fields) }}
4+
{{ return(adapter.dispatch('concat', packages = dbt_utils._get_utils_namespaces())(fields)) }}
55
{%- endmacro %}
66

77
{% macro default__concat(fields) -%}

macros/cross_db_utils/current_timestamp.sql

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro current_timestamp() -%}
2-
{{ adapter.dispatch('current_timestamp', packages = dbt_utils._get_utils_namespaces())() }}
2+
{{ return(adapter.dispatch('current_timestamp', packages = dbt_utils._get_utils_namespaces())()) }}
33
{%- endmacro %}
44

55
{% macro default__current_timestamp() %}
@@ -17,7 +17,7 @@
1717

1818

1919
{% macro current_timestamp_in_utc() -%}
20-
{{ adapter.dispatch('current_timestamp_in_utc', packages = dbt_utils._get_utils_namespaces())() }}
20+
{{ return(adapter.dispatch('current_timestamp_in_utc', packages = dbt_utils._get_utils_namespaces())()) }}
2121
{%- endmacro %}
2222

2323
{% macro default__current_timestamp_in_utc() %}

macros/cross_db_utils/datatypes.sql

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{# string ------------------------------------------------- #}
22

33
{%- macro type_string() -%}
4-
{{ adapter.dispatch('type_string', packages = dbt_utils._get_utils_namespaces())() }}
4+
{{ return(adapter.dispatch('type_string', packages = dbt_utils._get_utils_namespaces())()) }}
55
{%- endmacro -%}
66

77
{% macro default__type_string() %}
@@ -25,7 +25,7 @@
2525
{# timestamp ------------------------------------------------- #}
2626

2727
{%- macro type_timestamp() -%}
28-
{{ adapter.dispatch('type_timestamp', packages = dbt_utils._get_utils_namespaces())() }}
28+
{{ return(adapter.dispatch('type_timestamp', packages = dbt_utils._get_utils_namespaces())()) }}
2929
{%- endmacro -%}
3030

3131
{% macro default__type_timestamp() %}
@@ -40,7 +40,7 @@
4040
{# float ------------------------------------------------- #}
4141

4242
{%- macro type_float() -%}
43-
{{ adapter.dispatch('type_float', packages = dbt_utils._get_utils_namespaces())() }}
43+
{{ return(adapter.dispatch('type_float', packages = dbt_utils._get_utils_namespaces())()) }}
4444
{%- endmacro -%}
4545

4646
{% macro default__type_float() %}
@@ -54,7 +54,7 @@
5454
{# numeric ------------------------------------------------ #}
5555

5656
{%- macro type_numeric() -%}
57-
{{ adapter.dispatch('type_numeric', packages = dbt_utils._get_utils_namespaces())() }}
57+
{{ return(adapter.dispatch('type_numeric', packages = dbt_utils._get_utils_namespaces())()) }}
5858
{%- endmacro -%}
5959

6060
{% macro default__type_numeric() %}
@@ -69,7 +69,7 @@
6969
{# bigint ------------------------------------------------- #}
7070

7171
{%- macro type_bigint() -%}
72-
{{ adapter.dispatch('type_bigint', packages = dbt_utils._get_utils_namespaces())() }}
72+
{{ return(adapter.dispatch('type_bigint', packages = dbt_utils._get_utils_namespaces())()) }}
7373
{%- endmacro -%}
7474

7575
{% macro default__type_bigint() %}
@@ -83,7 +83,7 @@
8383
{# int ------------------------------------------------- #}
8484

8585
{%- macro type_int() -%}
86-
{{ adapter.dispatch('type_int', packages = dbt_utils._get_utils_namespaces())() }}
86+
{{ return(adapter.dispatch('type_int', packages = dbt_utils._get_utils_namespaces())()) }}
8787
{%- endmacro -%}
8888

8989
{% macro default__type_int() %}

macros/cross_db_utils/date_trunc.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro date_trunc(datepart, date) -%}
2-
{{ adapter.dispatch('date_trunc', packages = dbt_utils._get_utils_namespaces()) (datepart, date) }}
2+
{{ return(adapter.dispatch('date_trunc', packages = dbt_utils._get_utils_namespaces()) (datepart, date)) }}
33
{%- endmacro %}
44

55
{% macro default__date_trunc(datepart, date) %}

macros/cross_db_utils/dateadd.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro dateadd(datepart, interval, from_date_or_timestamp) %}
2-
{{ adapter.dispatch('dateadd', packages = dbt_utils._get_utils_namespaces())(datepart, interval, from_date_or_timestamp) }}
2+
{{ return(adapter.dispatch('dateadd', packages = dbt_utils._get_utils_namespaces())(datepart, interval, from_date_or_timestamp)) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/datediff.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro datediff(first_date, second_date, datepart) %}
2-
{{ adapter.dispatch('datediff', packages = dbt_utils._get_utils_namespaces())(first_date, second_date, datepart) }}
2+
{{ return(adapter.dispatch('datediff', packages = dbt_utils._get_utils_namespaces())(first_date, second_date, datepart)) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/except.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro except() %}
2-
{{ adapter.dispatch('except', packages = dbt_utils._get_utils_namespaces())() }}
2+
{{ return(adapter.dispatch('except', packages = dbt_utils._get_utils_namespaces())()) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/hash.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro hash(field) -%}
2-
{{ adapter.dispatch('hash', packages = dbt_utils._get_utils_namespaces()) (field) }}
2+
{{ return(adapter.dispatch('hash', packages = dbt_utils._get_utils_namespaces()) (field)) }}
33
{%- endmacro %}
44

55

macros/cross_db_utils/identifier.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
Use `adapter.quote` instead. The {}.{} model triggered this warning. \
55
'.format(model.package_name, model.name) -%}
66
{%- do exceptions.warn(error_message) -%}
7-
{{ adapter.dispatch('identifier', packages = dbt_utils._get_utils_namespaces()) (value) }}
7+
{{ return(adapter.dispatch('identifier', packages = dbt_utils._get_utils_namespaces()) (value)) }}
88
{% endmacro %}
99

1010
{% macro default__identifier(value) -%}

macros/cross_db_utils/intersect.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro intersect() %}
2-
{{ adapter.dispatch('intersect', packages = dbt_utils._get_utils_namespaces())() }}
2+
{{ return(adapter.dispatch('intersect', packages = dbt_utils._get_utils_namespaces())()) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/last_day.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ testing is required to validate that it will work on other dateparts.
44
*/
55

66
{% macro last_day(date, datepart) %}
7-
{{ adapter.dispatch('last_day', packages = dbt_utils._get_utils_namespaces()) (date, datepart) }}
7+
{{ return(adapter.dispatch('last_day', packages = dbt_utils._get_utils_namespaces()) (date, datepart)) }}
88
{% endmacro %}
99

1010

macros/cross_db_utils/length.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro length(expression) -%}
2-
{{ adapter.dispatch('length', packages = dbt_utils._get_utils_namespaces()) (expression) }}
2+
{{ return(adapter.dispatch('length', packages = dbt_utils._get_utils_namespaces()) (expression)) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/literal.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
{%- macro string_literal(value) -%}
3-
{{ adapter.dispatch('string_literal', packages = dbt_utils._get_utils_namespaces()) (value) }}
3+
{{ return(adapter.dispatch('string_literal', packages = dbt_utils._get_utils_namespaces()) (value)) }}
44
{%- endmacro -%}
55

66
{% macro default__string_literal(value) -%}

macros/cross_db_utils/position.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro position(substring_text, string_text) -%}
2-
{{ adapter.dispatch('position', packages = dbt_utils._get_utils_namespaces()) (substring_text, string_text) }}
2+
{{ return(adapter.dispatch('position', packages = dbt_utils._get_utils_namespaces()) (substring_text, string_text)) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/replace.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro replace(field, old_chars, new_chars) -%}
2-
{{ adapter.dispatch('replace', packages = dbt_utils._get_utils_namespaces()) (field, old_chars, new_chars) }}
2+
{{ return(adapter.dispatch('replace', packages = dbt_utils._get_utils_namespaces()) (field, old_chars, new_chars)) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/right.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro right(string_text, length_expression) -%}
2-
{{ adapter.dispatch('right', packages = dbt_utils._get_utils_namespaces()) (string_text, length_expression) }}
2+
{{ return(adapter.dispatch('right', packages = dbt_utils._get_utils_namespaces()) (string_text, length_expression)) }}
33
{% endmacro %}
44

55
{% macro default__right(string_text, length_expression) %}

macros/cross_db_utils/safe_cast.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro safe_cast(field, type) %}
2-
{{ adapter.dispatch('safe_cast', packages = dbt_utils._get_utils_namespaces()) (field, type) }}
2+
{{ return(adapter.dispatch('safe_cast', packages = dbt_utils._get_utils_namespaces()) (field, type)) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/split_part.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro split_part(string_text, delimiter_text, part_number) %}
2-
{{ adapter.dispatch('split_part', packages = dbt_utils._get_utils_namespaces()) (string_text, delimiter_text, part_number) }}
2+
{{ return(adapter.dispatch('split_part', packages = dbt_utils._get_utils_namespaces()) (string_text, delimiter_text, part_number)) }}
33
{% endmacro %}
44

55

macros/cross_db_utils/width_bucket.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% macro width_bucket(expr, min_value, max_value, num_buckets) %}
2-
{{ adapter.dispatch('width_bucket', packages = dbt_utils._get_utils_namespaces()) (expr, min_value, max_value, num_buckets) }}
2+
{{ return(adapter.dispatch('width_bucket', packages = dbt_utils._get_utils_namespaces()) (expr, min_value, max_value, num_buckets)) }}
33
{% endmacro %}
44

55

macros/datetime/date_spine.sql

+7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{% macro get_intervals_between(start_date, end_date, datepart) -%}
2+
{{ return(adapter.dispatch('get_intervals_between', packages = dbt_utils._get_utils_namespaces())(start_date, end_date, datepart)) }}
3+
{%- endmacro %}
24

5+
{% macro default__get_intervals_between(start_date, end_date, datepart) -%}
36
{%- call statement('get_intervals_between', fetch_result=True) %}
47

58
select {{dbt_utils.datediff(start_date, end_date, datepart)}}
@@ -21,6 +24,10 @@
2124

2225

2326
{% macro date_spine(datepart, start_date, end_date) %}
27+
{{ return(adapter.dispatch('date_spine', packages = dbt_utils._get_utils_namespaces())(datepart, start_date, end_date)) }}
28+
{%- endmacro %}
29+
30+
{% macro default__date_spine(datepart, start_date, end_date) %}
2431

2532
/*
2633
call as follows:

macros/geo/haversine_distance.sql

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ The arguments should be float type.
77
#}
88

99
{% macro haversine_distance(lat1,lon1,lat2,lon2) -%}
10+
{{ return(adapter.dispatch('haversine_distance', packages = dbt_utils._get_utils_namespaces())(lat1,lon1,lat2,lon2)) }}
11+
{% endmacro %}
12+
13+
{% macro default__haversine_distance(lat1,lon1,lat2,lon2) -%}
1014

1115
2 * 3961 * asin(sqrt((sin(radians(({{lat2}} - {{lat1}}) / 2))) ^ 2 +
1216
cos(radians({{lat1}})) * cos(radians({{lat2}})) *

macros/logger/log_info.sql

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{% macro log_info(message) %}
2+
{{ return(adapter.dispatch('log_info', packages = dbt_utils._get_utils_namespaces())(message)) }}
3+
{% endmacro %}
24

5+
{% macro default__log_info(message) %}
36
{{ log(dbt_utils.pretty_log_format(message), info=True) }}
4-
57
{% endmacro %}

macros/logger/pretty_log_format.sql

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{% macro pretty_log_format(message) %}
2+
{{ return(adapter.dispatch('pretty_log_format', packages = dbt_utils._get_utils_namespaces())(message)) }}
3+
{% endmacro %}
24

5+
{% macro default__pretty_log_format(message) %}
36
{{ return( dbt_utils.pretty_time() ~ ' + ' ~ message) }}
4-
57
{% endmacro %}

macros/logger/pretty_time.sql

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{% macro pretty_time(format='%H:%M:%S') %}
2+
{{ return(adapter.dispatch('pretty_time', packages = dbt_utils._get_utils_namespaces())(format)) }}
3+
{% endmacro %}
24

5+
{% macro default__pretty_time(format='%H:%M:%S') %}
36
{{ return(modules.datetime.datetime.now().strftime(format)) }}
4-
57
{% endmacro %}

macros/materializations/insert_by_period_materialization.sql

+8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%}
2+
{{ return(adapter.dispatch('get_period_boundaries', packages = dbt_utils._get_utils_namespaces())(target_schema, target_table, timestamp_field, start_date, stop_date, period)) }}
3+
{% endmacro %}
4+
5+
{% macro default__get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%}
26

37
{% call statement('period_boundaries', fetch_result=True) -%}
48
with data as (
@@ -25,6 +29,10 @@
2529
{%- endmacro %}
2630

2731
{% macro get_period_sql(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset) -%}
32+
{{ return(adapter.dispatch('get_period_sql', packages = dbt_utils._get_utils_namespaces())(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset)) }}
33+
{% endmacro %}
34+
35+
{% macro default__get_period_sql(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset) -%}
2836

2937
{%- set period_filter -%}
3038
("{{timestamp_field}}" > '{{start_timestamp}}'::timestamp + interval '{{offset}} {{period}}' and

macros/schema_tests/at_least_one.sql

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_at_least_one(model) %}
2+
{{ return(adapter.dispatch('test_at_least_one', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_at_least_one(model) %}
26

37
{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}
48

@@ -14,4 +18,4 @@ from (
1418

1519
) validation_errors
1620

17-
{% endmacro %}
21+
{% endmacro %}

macros/schema_tests/cardinality_equality.sql

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
{% macro test_cardinality_equality(model, to, field) %}
2+
{{ return(adapter.dispatch('test_cardinality_equality', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs)) }}
3+
4+
{% endmacro %}
5+
6+
{% macro default__test_cardinality_equality(model, to, field) %}
27

38
{% set column_name = kwargs.get('column_name', kwargs.get('from')) %}
49

macros/schema_tests/equal_rowcount.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_equal_rowcount(model) %}
2+
{{ return(adapter.dispatch('test_equal_rowcount', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_equal_rowcount(model) %}
26

37
{% set compare_model = kwargs.get('compare_model', kwargs.get('arg')) %}
48

macros/schema_tests/equality.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_equality(model) %}
2+
{{ return(adapter.dispatch('test_equality', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_equality(model) %}
26

37

48
{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}

macros/schema_tests/expression_is_true.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_expression_is_true(model, condition='true') %}
2+
{{ return(adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_expression_is_true(model, condition='true') %}
26

37
{% set expression = kwargs.get('expression', kwargs.get('arg')) %}
48

macros/schema_tests/mutually_exclusive_ranges.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %}
2+
{{ return(adapter.dispatch('test_mutually_exclusive_ranges', packages = dbt_utils._get_utils_namespaces())(model, lower_bound_column, upper_bound_column, partition_by, gaps)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %}
26

37
{% if gaps == 'not_allowed' %}
48
{% set allow_gaps_operator='=' %}

macros/schema_tests/not_constant.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11

22
{% macro test_not_constant(model) %}
3+
{{ return(adapter.dispatch('test_not_constant', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}
4+
{% endmacro %}
5+
6+
{% macro default__test_not_constant(model) %}
37

48
{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}
59

macros/schema_tests/recency.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_recency(model, datepart, interval) %}
2+
{{ return(adapter.dispatch('test_recency', packages = dbt_utils._get_utils_namespaces())(model, datepart, interval, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_recency(model, datepart, interval) %}
26

37
{% set column_name = kwargs.get('column_name', kwargs.get('field')) %}
48

macros/schema_tests/relationships_where.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_relationships_where(model, to, field) %}
2+
{{ return(adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_relationships_where(model, to, field) %}
26

37
{% set column_name = kwargs.get('column_name', kwargs.get('from')) %}
48
{% set from_condition = kwargs.get('from_condition', "true") %}

macros/schema_tests/test_not_null_where.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_not_null_where(model) %}
2+
{{ return(adapter.dispatch('test_not_null_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_not_null_where(model) %}
26

37
{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}
48
{% set where = kwargs.get('where', kwargs.get('arg')) %}

macros/schema_tests/test_unique_where.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_unique_where(model) %}
2+
{{ return(adapter.dispatch('test_unique_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_unique_where(model) %}
26

37
{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}
48
{% set where = kwargs.get('where', kwargs.get('arg')) %}

macros/schema_tests/unique_combination_of_columns.sql

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{% macro test_unique_combination_of_columns(model, quote_columns = false) %}
2+
{{ return(adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns, **kwargs)) }}
3+
{% endmacro %}
4+
5+
{% macro default__test_unique_combination_of_columns(model, quote_columns = false) %}
26

37
{%- set columns = kwargs.get('combination_of_columns', kwargs.get('arg')) %}
48

0 commit comments

Comments
 (0)