From 844bfa16df27663da1f8fe8f9dd9b4f09497f2b5 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Wed, 23 Dec 2020 01:57:23 -0800 Subject: [PATCH 01/29] dispatch-ify schema tests --- macros/schema_tests/at_least_one.sql | 6 +++++- macros/schema_tests/cardinality_equality.sql | 5 +++++ macros/schema_tests/equal_rowcount.sql | 4 ++++ macros/schema_tests/equality.sql | 4 ++++ macros/schema_tests/expression_is_true.sql | 4 ++++ macros/schema_tests/mutually_exclusive_ranges.sql | 4 ++++ macros/schema_tests/not_constant.sql | 4 ++++ macros/schema_tests/recency.sql | 4 ++++ macros/schema_tests/relationships_where.sql | 4 ++++ macros/schema_tests/test_not_null_where.sql | 4 ++++ macros/schema_tests/test_unique_where.sql | 4 ++++ macros/schema_tests/unique_combination_of_columns.sql | 4 ++++ 12 files changed, 50 insertions(+), 1 deletion(-) diff --git a/macros/schema_tests/at_least_one.sql b/macros/schema_tests/at_least_one.sql index 5ea26abd..7db72351 100644 --- a/macros/schema_tests/at_least_one.sql +++ b/macros/schema_tests/at_least_one.sql @@ -1,4 +1,8 @@ {% macro test_at_least_one(model) %} + {{ adapter.dispatch('test_at_least_one', packages = dbt_utils._get_utils_namespaces())(model) }} +{% endmacro %} + +{% macro default__test_at_least_one(model) %} {% set column_name = kwargs.get('column_name', kwargs.get('arg')) %} @@ -14,4 +18,4 @@ from ( ) validation_errors -{% endmacro %} +{% endmacro %} \ No newline at end of file diff --git a/macros/schema_tests/cardinality_equality.sql b/macros/schema_tests/cardinality_equality.sql index 6e0cd215..bdbce8c7 100644 --- a/macros/schema_tests/cardinality_equality.sql +++ b/macros/schema_tests/cardinality_equality.sql @@ -1,4 +1,9 @@ {% macro test_cardinality_equality(model, to, field) %} + {{ adapter.dispatch('test_cardinality_equality', packages = dbt_utils._get_utils_namespaces())(model, to, field) }} + +{% endmacro %} + +{% macro default__test_cardinality_equality(model, to, field) %} {% set column_name = kwargs.get('column_name', kwargs.get('from')) %} diff --git a/macros/schema_tests/equal_rowcount.sql b/macros/schema_tests/equal_rowcount.sql index 30011eed..954d1e1e 100644 --- a/macros/schema_tests/equal_rowcount.sql +++ b/macros/schema_tests/equal_rowcount.sql @@ -1,4 +1,8 @@ {% macro test_equal_rowcount(model) %} + {{ adapter.dispatch('test_equal_rowcount', packages = dbt_utils._get_utils_namespaces())(model) }} +{% endmacro %} + +{% macro default__test_equal_rowcount(model) %} {% set compare_model = kwargs.get('compare_model', kwargs.get('arg')) %} diff --git a/macros/schema_tests/equality.sql b/macros/schema_tests/equality.sql index ddb02461..8a9a036c 100644 --- a/macros/schema_tests/equality.sql +++ b/macros/schema_tests/equality.sql @@ -1,4 +1,8 @@ {% macro test_equality(model) %} + {{ adapter.dispatch('test_equality', packages = dbt_utils._get_utils_namespaces())(model) }} +{% endmacro %} + +{% macro default__test_equality(model) %} {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #} diff --git a/macros/schema_tests/expression_is_true.sql b/macros/schema_tests/expression_is_true.sql index 5ff9c334..d769c667 100644 --- a/macros/schema_tests/expression_is_true.sql +++ b/macros/schema_tests/expression_is_true.sql @@ -1,4 +1,8 @@ {% macro test_expression_is_true(model, condition='true') %} + {{ adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition='true') }} +{% endmacro %} + +{% macro default__test_expression_is_true(model, condition='true') %} {% set expression = kwargs.get('expression', kwargs.get('arg')) %} diff --git a/macros/schema_tests/mutually_exclusive_ranges.sql b/macros/schema_tests/mutually_exclusive_ranges.sql index fab228f5..624af9f8 100644 --- a/macros/schema_tests/mutually_exclusive_ranges.sql +++ b/macros/schema_tests/mutually_exclusive_ranges.sql @@ -1,4 +1,8 @@ {% macro test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %} + {{ adapter.dispatch('test_mutually_exclusive_ranges', packages = dbt_utils._get_utils_namespaces())(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') }} +{% endmacro %} + +{% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %} {% if gaps == 'not_allowed' %} {% set allow_gaps_operator='=' %} diff --git a/macros/schema_tests/not_constant.sql b/macros/schema_tests/not_constant.sql index 099ab657..178c26f3 100644 --- a/macros/schema_tests/not_constant.sql +++ b/macros/schema_tests/not_constant.sql @@ -1,5 +1,9 @@ {% macro test_not_constant(model) %} + {{ adapter.dispatch('test_not_constant', packages = dbt_utils._get_utils_namespaces())(model) }} +{% endmacro %} + +{% macro default__test_not_constant(model) %} {% set column_name = kwargs.get('column_name', kwargs.get('arg')) %} diff --git a/macros/schema_tests/recency.sql b/macros/schema_tests/recency.sql index e77ce9d9..16eaac2e 100644 --- a/macros/schema_tests/recency.sql +++ b/macros/schema_tests/recency.sql @@ -1,4 +1,8 @@ {% macro test_recency(model, datepart, interval) %} + {{ adapter.dispatch('test_recency', packages = dbt_utils._get_utils_namespaces())(model, datepart, interval) }} +{% endmacro %} + +{% macro default__test_recency(model, datepart, interval) %} {% set column_name = kwargs.get('column_name', kwargs.get('field')) %} diff --git a/macros/schema_tests/relationships_where.sql b/macros/schema_tests/relationships_where.sql index 08954b90..4fa07747 100644 --- a/macros/schema_tests/relationships_where.sql +++ b/macros/schema_tests/relationships_where.sql @@ -1,3 +1,7 @@ +{% macro test_relationships_where(model, to, field) %} + {{ adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field) }} +{% endmacro %} + {% macro test_relationships_where(model, to, field) %} {% set column_name = kwargs.get('column_name', kwargs.get('from')) %} diff --git a/macros/schema_tests/test_not_null_where.sql b/macros/schema_tests/test_not_null_where.sql index 4e624dea..0d8decd1 100644 --- a/macros/schema_tests/test_not_null_where.sql +++ b/macros/schema_tests/test_not_null_where.sql @@ -1,4 +1,8 @@ {% macro test_not_null_where(model) %} + {{ adapter.dispatch('test_not_null_where', packages = dbt_utils._get_utils_namespaces())(model) }} +{% endmacro %} + +{% macro default__test_not_null_where(model) %} {% set column_name = kwargs.get('column_name', kwargs.get('arg')) %} {% set where = kwargs.get('where', kwargs.get('arg')) %} diff --git a/macros/schema_tests/test_unique_where.sql b/macros/schema_tests/test_unique_where.sql index 36c4a541..4078724f 100644 --- a/macros/schema_tests/test_unique_where.sql +++ b/macros/schema_tests/test_unique_where.sql @@ -1,4 +1,8 @@ {% macro test_unique_where(model) %} + {{ adapter.dispatch('test_unique_where', packages = dbt_utils._get_utils_namespaces())(model) }} +{% endmacro %} + +{% macro default__test_unique_where(model) %} {% set column_name = kwargs.get('column_name', kwargs.get('arg')) %} {% set where = kwargs.get('where', kwargs.get('arg')) %} diff --git a/macros/schema_tests/unique_combination_of_columns.sql b/macros/schema_tests/unique_combination_of_columns.sql index 733f4e86..7152bf20 100644 --- a/macros/schema_tests/unique_combination_of_columns.sql +++ b/macros/schema_tests/unique_combination_of_columns.sql @@ -1,4 +1,8 @@ {% macro test_unique_combination_of_columns(model, quote_columns = false) %} + {{ adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns = false) }} +{% endmacro %} + +{% macro default__test_unique_combination_of_columns(model, quote_columns = false) %} {%- set columns = kwargs.get('combination_of_columns', kwargs.get('arg')) %} From 16bd69aa74f665b231ad7d0c249bd13e8616116c Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Wed, 23 Dec 2020 02:01:59 -0800 Subject: [PATCH 02/29] typo --- macros/schema_tests/relationships_where.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/schema_tests/relationships_where.sql b/macros/schema_tests/relationships_where.sql index 4fa07747..f8a30db7 100644 --- a/macros/schema_tests/relationships_where.sql +++ b/macros/schema_tests/relationships_where.sql @@ -2,7 +2,7 @@ {{ adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field) }} {% endmacro %} -{% macro test_relationships_where(model, to, field) %} +{% macro default__test_relationships_where(model, to, field) %} {% set column_name = kwargs.get('column_name', kwargs.get('from')) %} {% set from_condition = kwargs.get('from_condition', "true") %} From fe3612441da83ea40acbd3a69c38d246e2caaf10 Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Mon, 4 Jan 2021 11:30:49 -0700 Subject: [PATCH 03/29] generalized macros --- macros/logger/log_info.sql | 2 +- macros/logger/pretty_log_format.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/macros/logger/log_info.sql b/macros/logger/log_info.sql index e420faf9..085b7640 100644 --- a/macros/logger/log_info.sql +++ b/macros/logger/log_info.sql @@ -1,5 +1,5 @@ {% macro log_info(message) %} - {{ log(dbt_utils.pretty_log_format(message), info=True) }} + {{ log(pretty_log_format(message), info=True) }} {% endmacro %} diff --git a/macros/logger/pretty_log_format.sql b/macros/logger/pretty_log_format.sql index cc77e7a3..e4dde5ea 100644 --- a/macros/logger/pretty_log_format.sql +++ b/macros/logger/pretty_log_format.sql @@ -1,5 +1,5 @@ {% macro pretty_log_format(message) %} - {{ return( dbt_utils.pretty_time() ~ ' + ' ~ message) }} + {{ return( pretty_time() ~ ' + ' ~ message) }} {% endmacro %} From 3e886be55bcf78c4aebe96343f33abe9b3acc280 Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Mon, 4 Jan 2021 11:47:36 -0700 Subject: [PATCH 04/29] generalized macros progress --- macros/logger/log_info.sql | 4 +++- macros/logger/pretty_log_format.sql | 4 +++- macros/logger/pretty_time.sql | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/macros/logger/log_info.sql b/macros/logger/log_info.sql index 085b7640..057073d7 100644 --- a/macros/logger/log_info.sql +++ b/macros/logger/log_info.sql @@ -1,5 +1,7 @@ {% macro log_info(message) %} + {{ adapter.dispatch('log_info', packages = dbt_utils._get_utils_namespaces())(message) }} +{% endmacro %} +{% macro default__log_info(message) %} {{ log(pretty_log_format(message), info=True) }} - {% endmacro %} diff --git a/macros/logger/pretty_log_format.sql b/macros/logger/pretty_log_format.sql index e4dde5ea..6b98baf5 100644 --- a/macros/logger/pretty_log_format.sql +++ b/macros/logger/pretty_log_format.sql @@ -1,5 +1,7 @@ {% macro pretty_log_format(message) %} + {{ adapter.dispatch('pretty_log_format', packages = dbt_utils._get_utils_namespaces())(message) }} +{% endmacro %} +{% macro default__pretty_log_format(message) %} {{ return( pretty_time() ~ ' + ' ~ message) }} - {% endmacro %} diff --git a/macros/logger/pretty_time.sql b/macros/logger/pretty_time.sql index 03bec4d8..510105a4 100644 --- a/macros/logger/pretty_time.sql +++ b/macros/logger/pretty_time.sql @@ -1,5 +1,7 @@ {% macro pretty_time(format='%H:%M:%S') %} + {{ adapter.dispatch('pretty_time', packages = dbt_utils._get_utils_namespaces())(format='%H:%M:%S') }} +{% endmacro %} +{% macro default__pretty_time(format='%H:%M:%S') %} {{ return(modules.datetime.datetime.now().strftime(format)) }} - {% endmacro %} From 730f7a111aed5e83df76799a62c5711ecf596936 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Mon, 4 Jan 2021 11:02:03 -0800 Subject: [PATCH 05/29] remove prefix from tests --- .../tests/logger/assert_pretty_output_msg_is_string.sql | 2 +- integration_tests/tests/logger/assert_pretty_time_is_string.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql b/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql index db82a681..4714f2ec 100644 --- a/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql +++ b/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql @@ -1,4 +1,4 @@ -{% if dbt_utils.pretty_log_format() is string %} +{% if pretty_log_format() is string %} {# Return 0 rows for the test to pass #} select 1 limit 0 {% else %} diff --git a/integration_tests/tests/logger/assert_pretty_time_is_string.sql b/integration_tests/tests/logger/assert_pretty_time_is_string.sql index 78087080..1b6a60d6 100644 --- a/integration_tests/tests/logger/assert_pretty_time_is_string.sql +++ b/integration_tests/tests/logger/assert_pretty_time_is_string.sql @@ -1,4 +1,4 @@ -{% if dbt_utils.pretty_time() is string %} +{% if pretty_time() is string %} {# Return 0 rows for the test to pass #} select 1 limit 0 {% else %} From 21be8a43e7258dc72046ef787a625a469177655c Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Mon, 4 Jan 2021 11:14:45 -0800 Subject: [PATCH 06/29] add keyword args to adapter.disptach() arg list --- macros/schema_tests/at_least_one.sql | 2 +- macros/schema_tests/cardinality_equality.sql | 2 +- macros/schema_tests/equal_rowcount.sql | 2 +- macros/schema_tests/equality.sql | 2 +- macros/schema_tests/expression_is_true.sql | 2 +- macros/schema_tests/not_constant.sql | 2 +- macros/schema_tests/recency.sql | 2 +- macros/schema_tests/relationships_where.sql | 2 +- macros/schema_tests/test_not_null_where.sql | 2 +- macros/schema_tests/test_unique_where.sql | 2 +- macros/schema_tests/unique_combination_of_columns.sql | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/macros/schema_tests/at_least_one.sql b/macros/schema_tests/at_least_one.sql index 7db72351..ce23db69 100644 --- a/macros/schema_tests/at_least_one.sql +++ b/macros/schema_tests/at_least_one.sql @@ -1,5 +1,5 @@ {% macro test_at_least_one(model) %} - {{ adapter.dispatch('test_at_least_one', packages = dbt_utils._get_utils_namespaces())(model) }} + {{ adapter.dispatch('test_at_least_one', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} {% endmacro %} {% macro default__test_at_least_one(model) %} diff --git a/macros/schema_tests/cardinality_equality.sql b/macros/schema_tests/cardinality_equality.sql index bdbce8c7..a03704db 100644 --- a/macros/schema_tests/cardinality_equality.sql +++ b/macros/schema_tests/cardinality_equality.sql @@ -1,5 +1,5 @@ {% macro test_cardinality_equality(model, to, field) %} - {{ adapter.dispatch('test_cardinality_equality', packages = dbt_utils._get_utils_namespaces())(model, to, field) }} + {{ adapter.dispatch('test_cardinality_equality', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs) }} {% endmacro %} diff --git a/macros/schema_tests/equal_rowcount.sql b/macros/schema_tests/equal_rowcount.sql index 954d1e1e..3a0a5b25 100644 --- a/macros/schema_tests/equal_rowcount.sql +++ b/macros/schema_tests/equal_rowcount.sql @@ -1,5 +1,5 @@ {% macro test_equal_rowcount(model) %} - {{ adapter.dispatch('test_equal_rowcount', packages = dbt_utils._get_utils_namespaces())(model) }} + {{ adapter.dispatch('test_equal_rowcount', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} {% endmacro %} {% macro default__test_equal_rowcount(model) %} diff --git a/macros/schema_tests/equality.sql b/macros/schema_tests/equality.sql index 8a9a036c..884cf168 100644 --- a/macros/schema_tests/equality.sql +++ b/macros/schema_tests/equality.sql @@ -1,5 +1,5 @@ {% macro test_equality(model) %} - {{ adapter.dispatch('test_equality', packages = dbt_utils._get_utils_namespaces())(model) }} + {{ adapter.dispatch('test_equality', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} {% endmacro %} {% macro default__test_equality(model) %} diff --git a/macros/schema_tests/expression_is_true.sql b/macros/schema_tests/expression_is_true.sql index d769c667..386b50ac 100644 --- a/macros/schema_tests/expression_is_true.sql +++ b/macros/schema_tests/expression_is_true.sql @@ -1,5 +1,5 @@ {% macro test_expression_is_true(model, condition='true') %} - {{ adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition='true') }} + {{ adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition='true', **kwargs) }} {% endmacro %} {% macro default__test_expression_is_true(model, condition='true') %} diff --git a/macros/schema_tests/not_constant.sql b/macros/schema_tests/not_constant.sql index 178c26f3..3fee248b 100644 --- a/macros/schema_tests/not_constant.sql +++ b/macros/schema_tests/not_constant.sql @@ -1,6 +1,6 @@ {% macro test_not_constant(model) %} - {{ adapter.dispatch('test_not_constant', packages = dbt_utils._get_utils_namespaces())(model) }} + {{ adapter.dispatch('test_not_constant', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} {% endmacro %} {% macro default__test_not_constant(model) %} diff --git a/macros/schema_tests/recency.sql b/macros/schema_tests/recency.sql index 16eaac2e..39dd607b 100644 --- a/macros/schema_tests/recency.sql +++ b/macros/schema_tests/recency.sql @@ -1,5 +1,5 @@ {% macro test_recency(model, datepart, interval) %} - {{ adapter.dispatch('test_recency', packages = dbt_utils._get_utils_namespaces())(model, datepart, interval) }} + {{ adapter.dispatch('test_recency', packages = dbt_utils._get_utils_namespaces())(model, datepart, interval, **kwargs) }} {% endmacro %} {% macro default__test_recency(model, datepart, interval) %} diff --git a/macros/schema_tests/relationships_where.sql b/macros/schema_tests/relationships_where.sql index f8a30db7..d6a8b9e1 100644 --- a/macros/schema_tests/relationships_where.sql +++ b/macros/schema_tests/relationships_where.sql @@ -1,5 +1,5 @@ {% macro test_relationships_where(model, to, field) %} - {{ adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field) }} + {{ adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs) }} {% endmacro %} {% macro default__test_relationships_where(model, to, field) %} diff --git a/macros/schema_tests/test_not_null_where.sql b/macros/schema_tests/test_not_null_where.sql index 0d8decd1..fe47edbc 100644 --- a/macros/schema_tests/test_not_null_where.sql +++ b/macros/schema_tests/test_not_null_where.sql @@ -1,5 +1,5 @@ {% macro test_not_null_where(model) %} - {{ adapter.dispatch('test_not_null_where', packages = dbt_utils._get_utils_namespaces())(model) }} + {{ adapter.dispatch('test_not_null_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} {% endmacro %} {% macro default__test_not_null_where(model) %} diff --git a/macros/schema_tests/test_unique_where.sql b/macros/schema_tests/test_unique_where.sql index 4078724f..d2711bff 100644 --- a/macros/schema_tests/test_unique_where.sql +++ b/macros/schema_tests/test_unique_where.sql @@ -1,5 +1,5 @@ {% macro test_unique_where(model) %} - {{ adapter.dispatch('test_unique_where', packages = dbt_utils._get_utils_namespaces())(model) }} + {{ adapter.dispatch('test_unique_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} {% endmacro %} {% macro default__test_unique_where(model) %} diff --git a/macros/schema_tests/unique_combination_of_columns.sql b/macros/schema_tests/unique_combination_of_columns.sql index 7152bf20..5535f9b7 100644 --- a/macros/schema_tests/unique_combination_of_columns.sql +++ b/macros/schema_tests/unique_combination_of_columns.sql @@ -1,5 +1,5 @@ {% macro test_unique_combination_of_columns(model, quote_columns = false) %} - {{ adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns = false) }} + {{ adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns = false, **kwargs) }} {% endmacro %} {% macro default__test_unique_combination_of_columns(model, quote_columns = false) %} From d35737ced45240b3418bbc55435a066390da2a52 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Mon, 4 Jan 2021 11:23:47 -0800 Subject: [PATCH 07/29] HAIL MARY find logger macros --- integration_tests/dbt_project.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index c25df991..6f251214 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -19,6 +19,9 @@ clean-targets: # directories to be removed by `dbt clean` - "target" - "dbt_modules" +vars: + dbt_utils_dispatch_list: ['dbt_utils'] + seeds: +quote_columns: false From 1c6ff842afee91483d23a0ba0e958a7cd392cc42 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Mon, 4 Jan 2021 12:38:26 -0800 Subject: [PATCH 08/29] for discovery in user projects & other pkgs --- .../tests/logger/assert_pretty_output_msg_is_string.sql | 2 +- integration_tests/tests/logger/assert_pretty_time_is_string.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql b/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql index 4714f2ec..db82a681 100644 --- a/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql +++ b/integration_tests/tests/logger/assert_pretty_output_msg_is_string.sql @@ -1,4 +1,4 @@ -{% if pretty_log_format() is string %} +{% if dbt_utils.pretty_log_format() is string %} {# Return 0 rows for the test to pass #} select 1 limit 0 {% else %} diff --git a/integration_tests/tests/logger/assert_pretty_time_is_string.sql b/integration_tests/tests/logger/assert_pretty_time_is_string.sql index 1b6a60d6..78087080 100644 --- a/integration_tests/tests/logger/assert_pretty_time_is_string.sql +++ b/integration_tests/tests/logger/assert_pretty_time_is_string.sql @@ -1,4 +1,4 @@ -{% if pretty_time() is string %} +{% if dbt_utils.pretty_time() is string %} {# Return 0 rows for the test to pass #} select 1 limit 0 {% else %} From 61d0dd17281a38e8d95ac90e9dad10ca9cd4ac01 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Mon, 4 Jan 2021 12:41:58 -0800 Subject: [PATCH 09/29] for discovery in user projects & other pkgs --- macros/logger/log_info.sql | 2 +- macros/logger/pretty_log_format.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/macros/logger/log_info.sql b/macros/logger/log_info.sql index 057073d7..83b93931 100644 --- a/macros/logger/log_info.sql +++ b/macros/logger/log_info.sql @@ -3,5 +3,5 @@ {% endmacro %} {% macro default__log_info(message) %} - {{ log(pretty_log_format(message), info=True) }} + {{ log(dbt_utils.pretty_log_format(message), info=True) }} {% endmacro %} diff --git a/macros/logger/pretty_log_format.sql b/macros/logger/pretty_log_format.sql index 6b98baf5..e57b8bfb 100644 --- a/macros/logger/pretty_log_format.sql +++ b/macros/logger/pretty_log_format.sql @@ -3,5 +3,5 @@ {% endmacro %} {% macro default__pretty_log_format(message) %} - {{ return( pretty_time() ~ ' + ' ~ message) }} + {{ return( dbt_utils.pretty_time() ~ ' + ' ~ message) }} {% endmacro %} From ae8d040d844c8b665d3dcee9f5c358be56073b3a Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Mon, 4 Jan 2021 17:51:52 -0700 Subject: [PATCH 10/29] generalize rest of macros --- macros/datetime/date_spine.sql | 7 +++++++ macros/geo/haversine_distance.sql | 4 ++++ .../insert_by_period_materialization.sql | 4 ++++ macros/sql/generate_series.sql | 8 ++++++++ macros/sql/get_column_values.sql | 4 ++++ macros/sql/get_query_results_as_dict.sql | 5 +++++ macros/sql/get_relations_by_pattern.sql | 4 ++++ macros/sql/get_relations_by_prefix.sql | 4 ++++ macros/sql/get_tables_by_prefix_sql.sql | 6 +++++- macros/sql/groupby.sql | 4 ++++ macros/sql/nullcheck.sql | 4 ++++ macros/sql/nullcheck_table.sql | 4 ++++ macros/sql/pivot.sql | 14 ++++++++++++++ macros/sql/safe_add.sql | 4 ++++ macros/sql/star.sql | 3 +++ macros/sql/surrogate_key.sql | 4 ++++ macros/sql/union.sql | 4 ++++ macros/sql/unpivot.sql | 4 ++++ macros/web/get_url_host.sql | 4 ++++ macros/web/get_url_parameter.sql | 4 ++++ macros/web/get_url_path.sql | 4 ++++ 21 files changed, 102 insertions(+), 1 deletion(-) diff --git a/macros/datetime/date_spine.sql b/macros/datetime/date_spine.sql index dd9693c3..4581752f 100644 --- a/macros/datetime/date_spine.sql +++ b/macros/datetime/date_spine.sql @@ -1,5 +1,8 @@ {% macro get_intervals_between(start_date, end_date, datepart) -%} + {{ adapter.dispatch('get_intervals_between', packages = dbt_utils._get_utils_namespaces())(start_date, end_date, datepart) }} +{%- endmacro %} +{% macro default__get_intervals_between(start_date, end_date, datepart) -%} {%- call statement('get_intervals_between', fetch_result=True) %} select {{dbt_utils.datediff(start_date, end_date, datepart)}} @@ -21,6 +24,10 @@ {% macro date_spine(datepart, start_date, end_date) %} + {{ adapter.dispatch('date_spine', packages = dbt_utils._get_utils_namespaces())(datepart, start_date, end_date) }} +{%- endmacro %} + +{% macro default__date_spine(datepart, start_date, end_date) %} /* call as follows: diff --git a/macros/geo/haversine_distance.sql b/macros/geo/haversine_distance.sql index d7ea4484..41bde55a 100644 --- a/macros/geo/haversine_distance.sql +++ b/macros/geo/haversine_distance.sql @@ -7,6 +7,10 @@ The arguments should be float type. #} {% macro haversine_distance(lat1,lon1,lat2,lon2) -%} + {{ adapter.dispatch('haversine_distance', packages = dbt_utils._get_utils_namespaces())(lat1,lon1,lat2,lon2) }} +{% endmacro %} + +{% macro default__haversine_distance(lat1,lon1,lat2,lon2) -%} 2 * 3961 * asin(sqrt((sin(radians(({{lat2}} - {{lat1}}) / 2))) ^ 2 + cos(radians({{lat1}})) * cos(radians({{lat2}})) * diff --git a/macros/materializations/insert_by_period_materialization.sql b/macros/materializations/insert_by_period_materialization.sql index 9b80b025..f2c7dde0 100644 --- a/macros/materializations/insert_by_period_materialization.sql +++ b/macros/materializations/insert_by_period_materialization.sql @@ -1,4 +1,8 @@ {% macro get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%} + {{ adapter.dispatch('get_period_boundaries', packages = dbt_utils._get_utils_namespaces())(target_schema, target_table, timestamp_field, start_date, stop_date, period) }} +{% endmacro %} + +{% macro default__get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%} {% call statement('period_boundaries', fetch_result=True) -%} with data as ( diff --git a/macros/sql/generate_series.sql b/macros/sql/generate_series.sql index 68303845..cd01e89b 100644 --- a/macros/sql/generate_series.sql +++ b/macros/sql/generate_series.sql @@ -1,4 +1,8 @@ {% macro get_powers_of_two(upper_bound) %} + {{ adapter.dispatch('get_powers_of_two', packages = dbt_utils._get_utils_namespaces())(upper_bound) }} +{% endmacro %} + +{% macro default__get_powers_of_two(upper_bound) %} {% if upper_bound <= 0 %} {{ exceptions.raise_compiler_error("upper bound must be positive") }} @@ -12,6 +16,10 @@ {% macro generate_series(upper_bound) %} + {{ adapter.dispatch('generate_series', packages = dbt_utils._get_utils_namespaces())(upper_bound) }} +{% endmacro %} + +{% macro default__generate_series(upper_bound) %} {% set n = dbt_utils.get_powers_of_two(upper_bound) %} diff --git a/macros/sql/get_column_values.sql b/macros/sql/get_column_values.sql index cf2277e1..a8e718db 100644 --- a/macros/sql/get_column_values.sql +++ b/macros/sql/get_column_values.sql @@ -11,6 +11,10 @@ Returns: #} {% macro get_column_values(table, column, max_records=none, default=none) -%} + {{ adapter.dispatch('get_column_values', packages = dbt_utils._get_utils_namespaces())(table, column, max_records=none, default=none) }} +{% endmacro %} + +{% macro default__get_column_values(table, column, max_records=none, default=none) -%} {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #} {%- if not execute -%} diff --git a/macros/sql/get_query_results_as_dict.sql b/macros/sql/get_query_results_as_dict.sql index f689a469..b4a88069 100644 --- a/macros/sql/get_query_results_as_dict.sql +++ b/macros/sql/get_query_results_as_dict.sql @@ -1,4 +1,9 @@ {% macro get_query_results_as_dict(query) %} + {{ adapter.dispatch('get_query_results_as_dict', packages = dbt_utils._get_utils_namespaces())(query) }} +{% endmacro %} + +{% macro default__get_query_results_as_dict(query) %} + {# This macro returns a dictionary of the form {column_name: (tuple_of_results)} #} {%- call statement('get_query_results', fetch_result=True,auto_begin=false) -%} diff --git a/macros/sql/get_relations_by_pattern.sql b/macros/sql/get_relations_by_pattern.sql index 0491452b..bfff23ae 100644 --- a/macros/sql/get_relations_by_pattern.sql +++ b/macros/sql/get_relations_by_pattern.sql @@ -1,4 +1,8 @@ {% macro get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %} + {{ adapter.dispatch('get_relations_by_pattern', packages = dbt_utils._get_utils_namespaces())(schema_pattern, table_pattern, exclude='', database=target.database) }} +{% endmacro %} + +{% macro default__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %} {%- call statement('get_tables', fetch_result=True) %} diff --git a/macros/sql/get_relations_by_prefix.sql b/macros/sql/get_relations_by_prefix.sql index 3ae91d6f..a9978ae9 100644 --- a/macros/sql/get_relations_by_prefix.sql +++ b/macros/sql/get_relations_by_prefix.sql @@ -1,4 +1,8 @@ {% macro get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %} + {{ adapter.dispatch('get_relations_by_prefix', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database) }} +{% endmacro %} + +{% macro default__get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %} {%- call statement('get_tables', fetch_result=True) %} diff --git a/macros/sql/get_tables_by_prefix_sql.sql b/macros/sql/get_tables_by_prefix_sql.sql index 46e52221..9549417f 100644 --- a/macros/sql/get_tables_by_prefix_sql.sql +++ b/macros/sql/get_tables_by_prefix_sql.sql @@ -1,5 +1,9 @@ {% macro get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %} - + {{ adapter.dispatch('get_tables_by_prefix_sql', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database) }} +{% endmacro %} + +{% macro default__get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %} + {{ dbt_utils.get_tables_by_pattern_sql( schema_pattern = schema, table_pattern = prefix ~ '%', diff --git a/macros/sql/groupby.sql b/macros/sql/groupby.sql index cee15008..879a05f6 100644 --- a/macros/sql/groupby.sql +++ b/macros/sql/groupby.sql @@ -1,4 +1,8 @@ {%- macro group_by(n) -%} + {{ adapter.dispatch('group_by', packages = dbt_utils._get_utils_namespaces())(n) }} +{% endmacro %} + +{%- macro default__group_by(n) -%} group by {% for i in range(1, n + 1) -%} {{ i }}{{ ',' if not loop.last }} diff --git a/macros/sql/nullcheck.sql b/macros/sql/nullcheck.sql index 7a7c04c9..02ec4a3f 100644 --- a/macros/sql/nullcheck.sql +++ b/macros/sql/nullcheck.sql @@ -1,4 +1,8 @@ {% macro nullcheck(cols) %} + {{ adapter.dispatch('nullcheck', packages = dbt_utils._get_utils_namespaces())(cols) }} +{% endmacro %} + +{% macro default__nullcheck(cols) %} {%- for col in cols %} {% if col.is_string() -%} diff --git a/macros/sql/nullcheck_table.sql b/macros/sql/nullcheck_table.sql index e49c3efc..54929152 100644 --- a/macros/sql/nullcheck_table.sql +++ b/macros/sql/nullcheck_table.sql @@ -1,4 +1,8 @@ {% macro nullcheck_table(relation) %} + {{ adapter.dispatch('nullcheck_table', packages = dbt_utils._get_utils_namespaces())(relation) }} +{% endmacro %} + +{% macro default__nullcheck_table(relation) %} {%- do dbt_utils._is_relation(relation, 'nullcheck_table') -%} {%- do dbt_utils._is_ephemeral(relation, 'nullcheck_table') -%} diff --git a/macros/sql/pivot.sql b/macros/sql/pivot.sql index da2df32e..18cf42a2 100644 --- a/macros/sql/pivot.sql +++ b/macros/sql/pivot.sql @@ -51,6 +51,20 @@ Arguments: else_value=0, quote_identifiers=True, distinct=False) %} + {{ adapter.dispatch('pivot', packages = dbt_utils._get_utils_namespaces())(column, values, alias=True, agg='sum', cmp='=', prefix='', suffix='', then_value=1, else_value=0, quote_identifiers=True, distinct=False) }} +{% endmacro %} + +{% macro default__pivot(column, + values, + alias=True, + agg='sum', + cmp='=', + prefix='', + suffix='', + then_value=1, + else_value=0, + quote_identifiers=True, + distinct=False) %} {% for v in values %} {{ agg }}( {% if distinct %} distinct {% endif %} diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index 263c8a49..a9c38bf5 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,4 +1,8 @@ {%- macro safe_add() -%} + {{ adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())() }} +{% endmacro %} + +{%- macro default__safe_add() -%} {% set fields = [] %} diff --git a/macros/sql/star.sql b/macros/sql/star.sql index c103d62f..75cbb3e2 100644 --- a/macros/sql/star.sql +++ b/macros/sql/star.sql @@ -1,5 +1,8 @@ {% macro star(from, relation_alias=False, except=[]) -%} + {{ adapter.dispatch('star', packages = dbt_utils._get_utils_namespaces())(from, relation_alias=False, except=[]) }} +{% endmacro %} +{% macro default__star(from, relation_alias=False, except=[]) -%} {%- do dbt_utils._is_relation(from, 'star') -%} {%- do dbt_utils._is_ephemeral(from, 'star') -%} diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index b992c733..1e17e189 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,4 +1,8 @@ {%- macro surrogate_key(field_list) -%} + {{ adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list) }} +{% endmacro %} + +{%- macro default__surrogate_key(field_list) -%} {%- if varargs|length >= 1 or field_list is string %} diff --git a/macros/sql/union.sql b/macros/sql/union.sql index 46bc22d2..f4ecde6c 100644 --- a/macros/sql/union.sql +++ b/macros/sql/union.sql @@ -1,4 +1,8 @@ {%- macro union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') -%} + {{ adapter.dispatch('union_relations', packages = dbt_utils._get_utils_namespaces())(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') }} +{% endmacro %} + +{%- macro default__union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') -%} {%- if exclude and include -%} {{ exceptions.raise_compiler_error("Both an exclude and include list were provided to the `union` macro. Only one is allowed") }} diff --git a/macros/sql/unpivot.sql b/macros/sql/unpivot.sql index de1a1b5c..bb1609c6 100644 --- a/macros/sql/unpivot.sql +++ b/macros/sql/unpivot.sql @@ -13,6 +13,10 @@ Arguments: #} {% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} + {{ adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) }} +{% endmacro %} + +{% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} {% if table %} {%- set error_message = ' diff --git a/macros/web/get_url_host.sql b/macros/web/get_url_host.sql index a04e8f11..fef85627 100644 --- a/macros/web/get_url_host.sql +++ b/macros/web/get_url_host.sql @@ -1,4 +1,8 @@ {% macro get_url_host(field) -%} + {{ adapter.dispatch('get_url_host', packages = dbt_utils._get_utils_namespaces())(field) }} +{% endmacro %} + +{% macro default__get_url_host(field) -%} {%- set parsed = dbt_utils.split_part( diff --git a/macros/web/get_url_parameter.sql b/macros/web/get_url_parameter.sql index 412d1b32..2e9f9b5c 100644 --- a/macros/web/get_url_parameter.sql +++ b/macros/web/get_url_parameter.sql @@ -1,4 +1,8 @@ {% macro get_url_parameter(field, url_parameter) -%} + {{ adapter.dispatch('get_url_parameter', packages = dbt_utils._get_utils_namespaces())(field, url_parameter) }} +{% endmacro %} + +{% macro default__get_url_parameter(field, url_parameter) -%} {%- set formatted_url_parameter = "'" + url_parameter + "='" -%} diff --git a/macros/web/get_url_path.sql b/macros/web/get_url_path.sql index e27d1d40..28bdbaa5 100644 --- a/macros/web/get_url_path.sql +++ b/macros/web/get_url_path.sql @@ -1,4 +1,8 @@ {% macro get_url_path(field) -%} + {{ adapter.dispatch('get_url_path', packages = dbt_utils._get_utils_namespaces())(field) }} +{% endmacro %} + +{% macro default__get_url_path(field) -%} {%- set stripped_url = dbt_utils.replace( From e3417afa37760fb926205e6ee74670da4c32c5ad Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Tue, 5 Jan 2021 09:21:34 -0700 Subject: [PATCH 11/29] datatype bug fix --- macros/sql/generate_series.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/generate_series.sql b/macros/sql/generate_series.sql index cd01e89b..f15990e0 100644 --- a/macros/sql/generate_series.sql +++ b/macros/sql/generate_series.sql @@ -1,5 +1,5 @@ {% macro get_powers_of_two(upper_bound) %} - {{ adapter.dispatch('get_powers_of_two', packages = dbt_utils._get_utils_namespaces())(upper_bound) }} + {{ return(adapter.dispatch('get_powers_of_two', packages = dbt_utils._get_utils_namespaces())(upper_bound)) }} {% endmacro %} {% macro default__get_powers_of_two(upper_bound) %} From b3428bc18bbe119abef728f03dc1a3e7a1af93bf Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Tue, 5 Jan 2021 10:09:49 -0700 Subject: [PATCH 12/29] datatype bug fix to all macros --- macros/cross_db_utils/concat.sql | 2 +- macros/cross_db_utils/current_timestamp.sql | 4 ++-- macros/cross_db_utils/datatypes.sql | 12 ++++++------ macros/cross_db_utils/date_trunc.sql | 2 +- macros/cross_db_utils/dateadd.sql | 2 +- macros/cross_db_utils/datediff.sql | 2 +- macros/cross_db_utils/except.sql | 2 +- macros/cross_db_utils/hash.sql | 2 +- macros/cross_db_utils/identifier.sql | 2 +- macros/cross_db_utils/intersect.sql | 2 +- macros/cross_db_utils/last_day.sql | 2 +- macros/cross_db_utils/length.sql | 2 +- macros/cross_db_utils/literal.sql | 2 +- macros/cross_db_utils/position.sql | 2 +- macros/cross_db_utils/replace.sql | 2 +- macros/cross_db_utils/right.sql | 2 +- macros/cross_db_utils/safe_cast.sql | 2 +- macros/cross_db_utils/split_part.sql | 2 +- macros/cross_db_utils/width_bucket.sql | 2 +- macros/datetime/date_spine.sql | 4 ++-- macros/geo/haversine_distance.sql | 2 +- macros/logger/log_info.sql | 2 +- macros/logger/pretty_log_format.sql | 2 +- macros/logger/pretty_time.sql | 2 +- .../insert_by_period_materialization.sql | 6 +++++- macros/schema_tests/at_least_one.sql | 2 +- macros/schema_tests/cardinality_equality.sql | 2 +- macros/schema_tests/equal_rowcount.sql | 2 +- macros/schema_tests/equality.sql | 2 +- macros/schema_tests/expression_is_true.sql | 2 +- macros/schema_tests/mutually_exclusive_ranges.sql | 2 +- macros/schema_tests/not_constant.sql | 2 +- macros/schema_tests/recency.sql | 2 +- macros/schema_tests/relationships_where.sql | 2 +- macros/schema_tests/test_not_null_where.sql | 2 +- macros/schema_tests/test_unique_where.sql | 2 +- .../schema_tests/unique_combination_of_columns.sql | 2 +- macros/sql/generate_series.sql | 2 +- macros/sql/get_column_values.sql | 2 +- macros/sql/get_query_results_as_dict.sql | 2 +- macros/sql/get_relations_by_pattern.sql | 2 +- macros/sql/get_relations_by_prefix.sql | 2 +- macros/sql/get_tables_by_pattern_sql.sql | 4 ++-- macros/sql/get_tables_by_prefix_sql.sql | 2 +- macros/sql/groupby.sql | 2 +- macros/sql/nullcheck.sql | 2 +- macros/sql/nullcheck_table.sql | 2 +- macros/sql/pivot.sql | 2 +- macros/sql/safe_add.sql | 2 +- macros/sql/star.sql | 2 +- macros/sql/surrogate_key.sql | 2 +- macros/sql/union.sql | 2 +- macros/sql/unpivot.sql | 2 +- macros/web/get_url_host.sql | 2 +- macros/web/get_url_parameter.sql | 2 +- macros/web/get_url_path.sql | 2 +- 56 files changed, 68 insertions(+), 64 deletions(-) diff --git a/macros/cross_db_utils/concat.sql b/macros/cross_db_utils/concat.sql index 58435016..32443cbd 100644 --- a/macros/cross_db_utils/concat.sql +++ b/macros/cross_db_utils/concat.sql @@ -1,7 +1,7 @@ {% macro concat(fields) -%} - {{ adapter.dispatch('concat', packages = dbt_utils._get_utils_namespaces())(fields) }} + {{ return(adapter.dispatch('concat', packages = dbt_utils._get_utils_namespaces())(fields)) }} {%- endmacro %} {% macro default__concat(fields) -%} diff --git a/macros/cross_db_utils/current_timestamp.sql b/macros/cross_db_utils/current_timestamp.sql index 090e246d..477181d1 100644 --- a/macros/cross_db_utils/current_timestamp.sql +++ b/macros/cross_db_utils/current_timestamp.sql @@ -1,5 +1,5 @@ {% macro current_timestamp() -%} - {{ adapter.dispatch('current_timestamp', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('current_timestamp', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro %} {% macro default__current_timestamp() %} @@ -17,7 +17,7 @@ {% macro current_timestamp_in_utc() -%} - {{ adapter.dispatch('current_timestamp_in_utc', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('current_timestamp_in_utc', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro %} {% macro default__current_timestamp_in_utc() %} diff --git a/macros/cross_db_utils/datatypes.sql b/macros/cross_db_utils/datatypes.sql index 1f949281..6cb71598 100644 --- a/macros/cross_db_utils/datatypes.sql +++ b/macros/cross_db_utils/datatypes.sql @@ -1,7 +1,7 @@ {# string ------------------------------------------------- #} {%- macro type_string() -%} - {{ adapter.dispatch('type_string', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('type_string', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro -%} {% macro default__type_string() %} @@ -25,7 +25,7 @@ {# timestamp ------------------------------------------------- #} {%- macro type_timestamp() -%} - {{ adapter.dispatch('type_timestamp', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('type_timestamp', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro -%} {% macro default__type_timestamp() %} @@ -40,7 +40,7 @@ {# float ------------------------------------------------- #} {%- macro type_float() -%} - {{ adapter.dispatch('type_float', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('type_float', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro -%} {% macro default__type_float() %} @@ -54,7 +54,7 @@ {# numeric ------------------------------------------------ #} {%- macro type_numeric() -%} - {{ adapter.dispatch('type_numeric', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('type_numeric', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro -%} {% macro default__type_numeric() %} @@ -69,7 +69,7 @@ {# bigint ------------------------------------------------- #} {%- macro type_bigint() -%} - {{ adapter.dispatch('type_bigint', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('type_bigint', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro -%} {% macro default__type_bigint() %} @@ -83,7 +83,7 @@ {# int ------------------------------------------------- #} {%- macro type_int() -%} - {{ adapter.dispatch('type_int', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('type_int', packages = dbt_utils._get_utils_namespaces())()) }} {%- endmacro -%} {% macro default__type_int() %} diff --git a/macros/cross_db_utils/date_trunc.sql b/macros/cross_db_utils/date_trunc.sql index 08653134..83c52dea 100644 --- a/macros/cross_db_utils/date_trunc.sql +++ b/macros/cross_db_utils/date_trunc.sql @@ -1,5 +1,5 @@ {% macro date_trunc(datepart, date) -%} - {{ adapter.dispatch('date_trunc', packages = dbt_utils._get_utils_namespaces()) (datepart, date) }} + {{ return(adapter.dispatch('date_trunc', packages = dbt_utils._get_utils_namespaces()) (datepart, date)) }} {%- endmacro %} {% macro default__date_trunc(datepart, date) %} diff --git a/macros/cross_db_utils/dateadd.sql b/macros/cross_db_utils/dateadd.sql index e4a7eb43..71a88280 100644 --- a/macros/cross_db_utils/dateadd.sql +++ b/macros/cross_db_utils/dateadd.sql @@ -1,5 +1,5 @@ {% macro dateadd(datepart, interval, from_date_or_timestamp) %} - {{ adapter.dispatch('dateadd', packages = dbt_utils._get_utils_namespaces())(datepart, interval, from_date_or_timestamp) }} + {{ return(adapter.dispatch('dateadd', packages = dbt_utils._get_utils_namespaces())(datepart, interval, from_date_or_timestamp)) }} {% endmacro %} diff --git a/macros/cross_db_utils/datediff.sql b/macros/cross_db_utils/datediff.sql index a4cb4d6a..ab5559d7 100644 --- a/macros/cross_db_utils/datediff.sql +++ b/macros/cross_db_utils/datediff.sql @@ -1,5 +1,5 @@ {% macro datediff(first_date, second_date, datepart) %} - {{ adapter.dispatch('datediff', packages = dbt_utils._get_utils_namespaces())(first_date, second_date, datepart) }} + {{ return(adapter.dispatch('datediff', packages = dbt_utils._get_utils_namespaces())(first_date, second_date, datepart)) }} {% endmacro %} diff --git a/macros/cross_db_utils/except.sql b/macros/cross_db_utils/except.sql index c9e8206d..4ccf7fdd 100644 --- a/macros/cross_db_utils/except.sql +++ b/macros/cross_db_utils/except.sql @@ -1,5 +1,5 @@ {% macro except() %} - {{ adapter.dispatch('except', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('except', packages = dbt_utils._get_utils_namespaces())()) }} {% endmacro %} diff --git a/macros/cross_db_utils/hash.sql b/macros/cross_db_utils/hash.sql index 8244b7f8..fdb293ed 100644 --- a/macros/cross_db_utils/hash.sql +++ b/macros/cross_db_utils/hash.sql @@ -1,5 +1,5 @@ {% macro hash(field) -%} - {{ adapter.dispatch('hash', packages = dbt_utils._get_utils_namespaces()) (field) }} + {{ return(adapter.dispatch('hash', packages = dbt_utils._get_utils_namespaces()) (field)) }} {%- endmacro %} diff --git a/macros/cross_db_utils/identifier.sql b/macros/cross_db_utils/identifier.sql index 1a379261..ac790b51 100644 --- a/macros/cross_db_utils/identifier.sql +++ b/macros/cross_db_utils/identifier.sql @@ -4,7 +4,7 @@ Use `adapter.quote` instead. The {}.{} model triggered this warning. \ '.format(model.package_name, model.name) -%} {%- do exceptions.warn(error_message) -%} - {{ adapter.dispatch('identifier', packages = dbt_utils._get_utils_namespaces()) (value) }} + {{ return(adapter.dispatch('identifier', packages = dbt_utils._get_utils_namespaces()) (value)) }} {% endmacro %} {% macro default__identifier(value) -%} diff --git a/macros/cross_db_utils/intersect.sql b/macros/cross_db_utils/intersect.sql index 252479a0..50bd320b 100644 --- a/macros/cross_db_utils/intersect.sql +++ b/macros/cross_db_utils/intersect.sql @@ -1,5 +1,5 @@ {% macro intersect() %} - {{ adapter.dispatch('intersect', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('intersect', packages = dbt_utils._get_utils_namespaces())()) }} {% endmacro %} diff --git a/macros/cross_db_utils/last_day.sql b/macros/cross_db_utils/last_day.sql index 1a58b51b..b66e9d30 100644 --- a/macros/cross_db_utils/last_day.sql +++ b/macros/cross_db_utils/last_day.sql @@ -4,7 +4,7 @@ testing is required to validate that it will work on other dateparts. */ {% macro last_day(date, datepart) %} - {{ adapter.dispatch('last_day', packages = dbt_utils._get_utils_namespaces()) (date, datepart) }} + {{ return(adapter.dispatch('last_day', packages = dbt_utils._get_utils_namespaces()) (date, datepart)) }} {% endmacro %} diff --git a/macros/cross_db_utils/length.sql b/macros/cross_db_utils/length.sql index a2595d2e..943b3b61 100644 --- a/macros/cross_db_utils/length.sql +++ b/macros/cross_db_utils/length.sql @@ -1,5 +1,5 @@ {% macro length(expression) -%} - {{ adapter.dispatch('length', packages = dbt_utils._get_utils_namespaces()) (expression) }} + {{ return(adapter.dispatch('length', packages = dbt_utils._get_utils_namespaces()) (expression)) }} {% endmacro %} diff --git a/macros/cross_db_utils/literal.sql b/macros/cross_db_utils/literal.sql index b486fc2f..22a3f17a 100644 --- a/macros/cross_db_utils/literal.sql +++ b/macros/cross_db_utils/literal.sql @@ -1,6 +1,6 @@ {%- macro string_literal(value) -%} - {{ adapter.dispatch('string_literal', packages = dbt_utils._get_utils_namespaces()) (value) }} + {{ return(adapter.dispatch('string_literal', packages = dbt_utils._get_utils_namespaces()) (value)) }} {%- endmacro -%} {% macro default__string_literal(value) -%} diff --git a/macros/cross_db_utils/position.sql b/macros/cross_db_utils/position.sql index a5b70c3a..e3f06c24 100644 --- a/macros/cross_db_utils/position.sql +++ b/macros/cross_db_utils/position.sql @@ -1,5 +1,5 @@ {% macro position(substring_text, string_text) -%} - {{ adapter.dispatch('position', packages = dbt_utils._get_utils_namespaces()) (substring_text, string_text) }} + {{ return(adapter.dispatch('position', packages = dbt_utils._get_utils_namespaces()) (substring_text, string_text)) }} {% endmacro %} diff --git a/macros/cross_db_utils/replace.sql b/macros/cross_db_utils/replace.sql index f1dc363d..4f2a194f 100644 --- a/macros/cross_db_utils/replace.sql +++ b/macros/cross_db_utils/replace.sql @@ -1,5 +1,5 @@ {% macro replace(field, old_chars, new_chars) -%} - {{ adapter.dispatch('replace', packages = dbt_utils._get_utils_namespaces()) (field, old_chars, new_chars) }} + {{ return(adapter.dispatch('replace', packages = dbt_utils._get_utils_namespaces()) (field, old_chars, new_chars)) }} {% endmacro %} diff --git a/macros/cross_db_utils/right.sql b/macros/cross_db_utils/right.sql index 992b848b..9b34cf10 100644 --- a/macros/cross_db_utils/right.sql +++ b/macros/cross_db_utils/right.sql @@ -1,5 +1,5 @@ {% macro right(string_text, length_expression) -%} - {{ adapter.dispatch('right', packages = dbt_utils._get_utils_namespaces()) (string_text, length_expression) }} + {{ return(adapter.dispatch('right', packages = dbt_utils._get_utils_namespaces()) (string_text, length_expression)) }} {% endmacro %} {% macro default__right(string_text, length_expression) %} diff --git a/macros/cross_db_utils/safe_cast.sql b/macros/cross_db_utils/safe_cast.sql index 1c3ef532..2eb35c90 100644 --- a/macros/cross_db_utils/safe_cast.sql +++ b/macros/cross_db_utils/safe_cast.sql @@ -1,5 +1,5 @@ {% macro safe_cast(field, type) %} - {{ adapter.dispatch('safe_cast', packages = dbt_utils._get_utils_namespaces()) (field, type) }} + {{ return(adapter.dispatch('safe_cast', packages = dbt_utils._get_utils_namespaces()) (field, type)) }} {% endmacro %} diff --git a/macros/cross_db_utils/split_part.sql b/macros/cross_db_utils/split_part.sql index 0f1b2f22..f44397cd 100644 --- a/macros/cross_db_utils/split_part.sql +++ b/macros/cross_db_utils/split_part.sql @@ -1,5 +1,5 @@ {% macro split_part(string_text, delimiter_text, part_number) %} - {{ adapter.dispatch('split_part', packages = dbt_utils._get_utils_namespaces()) (string_text, delimiter_text, part_number) }} + {{ return(adapter.dispatch('split_part', packages = dbt_utils._get_utils_namespaces()) (string_text, delimiter_text, part_number)) }} {% endmacro %} diff --git a/macros/cross_db_utils/width_bucket.sql b/macros/cross_db_utils/width_bucket.sql index 8e714410..41978d67 100644 --- a/macros/cross_db_utils/width_bucket.sql +++ b/macros/cross_db_utils/width_bucket.sql @@ -1,5 +1,5 @@ {% macro width_bucket(expr, min_value, max_value, num_buckets) %} - {{ adapter.dispatch('width_bucket', packages = dbt_utils._get_utils_namespaces()) (expr, min_value, max_value, num_buckets) }} + {{ return(adapter.dispatch('width_bucket', packages = dbt_utils._get_utils_namespaces()) (expr, min_value, max_value, num_buckets)) }} {% endmacro %} diff --git a/macros/datetime/date_spine.sql b/macros/datetime/date_spine.sql index 4581752f..63079f63 100644 --- a/macros/datetime/date_spine.sql +++ b/macros/datetime/date_spine.sql @@ -1,5 +1,5 @@ {% macro get_intervals_between(start_date, end_date, datepart) -%} - {{ adapter.dispatch('get_intervals_between', packages = dbt_utils._get_utils_namespaces())(start_date, end_date, datepart) }} + {{ return(adapter.dispatch('get_intervals_between', packages = dbt_utils._get_utils_namespaces())(start_date, end_date, datepart)) }} {%- endmacro %} {% macro default__get_intervals_between(start_date, end_date, datepart) -%} @@ -24,7 +24,7 @@ {% macro date_spine(datepart, start_date, end_date) %} - {{ adapter.dispatch('date_spine', packages = dbt_utils._get_utils_namespaces())(datepart, start_date, end_date) }} + {{ return(adapter.dispatch('date_spine', packages = dbt_utils._get_utils_namespaces())(datepart, start_date, end_date)) }} {%- endmacro %} {% macro default__date_spine(datepart, start_date, end_date) %} diff --git a/macros/geo/haversine_distance.sql b/macros/geo/haversine_distance.sql index 41bde55a..ed6c8281 100644 --- a/macros/geo/haversine_distance.sql +++ b/macros/geo/haversine_distance.sql @@ -7,7 +7,7 @@ The arguments should be float type. #} {% macro haversine_distance(lat1,lon1,lat2,lon2) -%} - {{ adapter.dispatch('haversine_distance', packages = dbt_utils._get_utils_namespaces())(lat1,lon1,lat2,lon2) }} + {{ return(adapter.dispatch('haversine_distance', packages = dbt_utils._get_utils_namespaces())(lat1,lon1,lat2,lon2)) }} {% endmacro %} {% macro default__haversine_distance(lat1,lon1,lat2,lon2) -%} diff --git a/macros/logger/log_info.sql b/macros/logger/log_info.sql index 83b93931..eb655fb9 100644 --- a/macros/logger/log_info.sql +++ b/macros/logger/log_info.sql @@ -1,5 +1,5 @@ {% macro log_info(message) %} - {{ adapter.dispatch('log_info', packages = dbt_utils._get_utils_namespaces())(message) }} + {{ return(adapter.dispatch('log_info', packages = dbt_utils._get_utils_namespaces())(message)) }} {% endmacro %} {% macro default__log_info(message) %} diff --git a/macros/logger/pretty_log_format.sql b/macros/logger/pretty_log_format.sql index e57b8bfb..554e274e 100644 --- a/macros/logger/pretty_log_format.sql +++ b/macros/logger/pretty_log_format.sql @@ -1,5 +1,5 @@ {% macro pretty_log_format(message) %} - {{ adapter.dispatch('pretty_log_format', packages = dbt_utils._get_utils_namespaces())(message) }} + {{ return(adapter.dispatch('pretty_log_format', packages = dbt_utils._get_utils_namespaces())(message)) }} {% endmacro %} {% macro default__pretty_log_format(message) %} diff --git a/macros/logger/pretty_time.sql b/macros/logger/pretty_time.sql index 510105a4..2145bdd8 100644 --- a/macros/logger/pretty_time.sql +++ b/macros/logger/pretty_time.sql @@ -1,5 +1,5 @@ {% macro pretty_time(format='%H:%M:%S') %} - {{ adapter.dispatch('pretty_time', packages = dbt_utils._get_utils_namespaces())(format='%H:%M:%S') }} + {{ return(adapter.dispatch('pretty_time', packages = dbt_utils._get_utils_namespaces())(format='%H:%M:%S')) }} {% endmacro %} {% macro default__pretty_time(format='%H:%M:%S') %} diff --git a/macros/materializations/insert_by_period_materialization.sql b/macros/materializations/insert_by_period_materialization.sql index f2c7dde0..653d3f47 100644 --- a/macros/materializations/insert_by_period_materialization.sql +++ b/macros/materializations/insert_by_period_materialization.sql @@ -1,5 +1,5 @@ {% macro get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%} - {{ adapter.dispatch('get_period_boundaries', packages = dbt_utils._get_utils_namespaces())(target_schema, target_table, timestamp_field, start_date, stop_date, period) }} + {{ return(adapter.dispatch('get_period_boundaries', packages = dbt_utils._get_utils_namespaces())(target_schema, target_table, timestamp_field, start_date, stop_date, period)) }} {% endmacro %} {% macro default__get_period_boundaries(target_schema, target_table, timestamp_field, start_date, stop_date, period) -%} @@ -29,6 +29,10 @@ {%- endmacro %} {% macro get_period_sql(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset) -%} + {{ return(adapter.dispatch('get_period_sql', packages = dbt_utils._get_utils_namespaces())(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset)) }} +{% endmacro %} + +{% macro default__get_period_sql(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset) -%} {%- set period_filter -%} ("{{timestamp_field}}" > '{{start_timestamp}}'::timestamp + interval '{{offset}} {{period}}' and diff --git a/macros/schema_tests/at_least_one.sql b/macros/schema_tests/at_least_one.sql index ce23db69..23975953 100644 --- a/macros/schema_tests/at_least_one.sql +++ b/macros/schema_tests/at_least_one.sql @@ -1,5 +1,5 @@ {% macro test_at_least_one(model) %} - {{ adapter.dispatch('test_at_least_one', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} + {{ return(adapter.dispatch('test_at_least_one', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }} {% endmacro %} {% macro default__test_at_least_one(model) %} diff --git a/macros/schema_tests/cardinality_equality.sql b/macros/schema_tests/cardinality_equality.sql index a03704db..b62fdc5b 100644 --- a/macros/schema_tests/cardinality_equality.sql +++ b/macros/schema_tests/cardinality_equality.sql @@ -1,5 +1,5 @@ {% macro test_cardinality_equality(model, to, field) %} - {{ adapter.dispatch('test_cardinality_equality', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs) }} + {{ return(adapter.dispatch('test_cardinality_equality', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs)) }} {% endmacro %} diff --git a/macros/schema_tests/equal_rowcount.sql b/macros/schema_tests/equal_rowcount.sql index 3a0a5b25..b28beed6 100644 --- a/macros/schema_tests/equal_rowcount.sql +++ b/macros/schema_tests/equal_rowcount.sql @@ -1,5 +1,5 @@ {% macro test_equal_rowcount(model) %} - {{ adapter.dispatch('test_equal_rowcount', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} + {{ return(adapter.dispatch('test_equal_rowcount', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }} {% endmacro %} {% macro default__test_equal_rowcount(model) %} diff --git a/macros/schema_tests/equality.sql b/macros/schema_tests/equality.sql index 884cf168..ef1d6758 100644 --- a/macros/schema_tests/equality.sql +++ b/macros/schema_tests/equality.sql @@ -1,5 +1,5 @@ {% macro test_equality(model) %} - {{ adapter.dispatch('test_equality', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} + {{ return(adapter.dispatch('test_equality', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }} {% endmacro %} {% macro default__test_equality(model) %} diff --git a/macros/schema_tests/expression_is_true.sql b/macros/schema_tests/expression_is_true.sql index 386b50ac..c6934c03 100644 --- a/macros/schema_tests/expression_is_true.sql +++ b/macros/schema_tests/expression_is_true.sql @@ -1,5 +1,5 @@ {% macro test_expression_is_true(model, condition='true') %} - {{ adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition='true', **kwargs) }} + {{ return(adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition='true', **kwargs)) }} {% endmacro %} {% macro default__test_expression_is_true(model, condition='true') %} diff --git a/macros/schema_tests/mutually_exclusive_ranges.sql b/macros/schema_tests/mutually_exclusive_ranges.sql index 624af9f8..d97910b9 100644 --- a/macros/schema_tests/mutually_exclusive_ranges.sql +++ b/macros/schema_tests/mutually_exclusive_ranges.sql @@ -1,5 +1,5 @@ {% macro test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %} - {{ adapter.dispatch('test_mutually_exclusive_ranges', packages = dbt_utils._get_utils_namespaces())(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') }} + {{ return(adapter.dispatch('test_mutually_exclusive_ranges', packages = dbt_utils._get_utils_namespaces())(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed')) }} {% endmacro %} {% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %} diff --git a/macros/schema_tests/not_constant.sql b/macros/schema_tests/not_constant.sql index 3fee248b..ba80a6be 100644 --- a/macros/schema_tests/not_constant.sql +++ b/macros/schema_tests/not_constant.sql @@ -1,6 +1,6 @@ {% macro test_not_constant(model) %} - {{ adapter.dispatch('test_not_constant', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} + {{ return(adapter.dispatch('test_not_constant', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }} {% endmacro %} {% macro default__test_not_constant(model) %} diff --git a/macros/schema_tests/recency.sql b/macros/schema_tests/recency.sql index 39dd607b..cc17e847 100644 --- a/macros/schema_tests/recency.sql +++ b/macros/schema_tests/recency.sql @@ -1,5 +1,5 @@ {% macro test_recency(model, datepart, interval) %} - {{ adapter.dispatch('test_recency', packages = dbt_utils._get_utils_namespaces())(model, datepart, interval, **kwargs) }} + {{ return(adapter.dispatch('test_recency', packages = dbt_utils._get_utils_namespaces())(model, datepart, interval, **kwargs)) }} {% endmacro %} {% macro default__test_recency(model, datepart, interval) %} diff --git a/macros/schema_tests/relationships_where.sql b/macros/schema_tests/relationships_where.sql index d6a8b9e1..50a824ab 100644 --- a/macros/schema_tests/relationships_where.sql +++ b/macros/schema_tests/relationships_where.sql @@ -1,5 +1,5 @@ {% macro test_relationships_where(model, to, field) %} - {{ adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs) }} + {{ return(adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs)) }} {% endmacro %} {% macro default__test_relationships_where(model, to, field) %} diff --git a/macros/schema_tests/test_not_null_where.sql b/macros/schema_tests/test_not_null_where.sql index fe47edbc..9f1684ba 100644 --- a/macros/schema_tests/test_not_null_where.sql +++ b/macros/schema_tests/test_not_null_where.sql @@ -1,5 +1,5 @@ {% macro test_not_null_where(model) %} - {{ adapter.dispatch('test_not_null_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} + {{ return(adapter.dispatch('test_not_null_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }} {% endmacro %} {% macro default__test_not_null_where(model) %} diff --git a/macros/schema_tests/test_unique_where.sql b/macros/schema_tests/test_unique_where.sql index d2711bff..06b8e133 100644 --- a/macros/schema_tests/test_unique_where.sql +++ b/macros/schema_tests/test_unique_where.sql @@ -1,5 +1,5 @@ {% macro test_unique_where(model) %} - {{ adapter.dispatch('test_unique_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs) }} + {{ return(adapter.dispatch('test_unique_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }} {% endmacro %} {% macro default__test_unique_where(model) %} diff --git a/macros/schema_tests/unique_combination_of_columns.sql b/macros/schema_tests/unique_combination_of_columns.sql index 5535f9b7..b3add5bc 100644 --- a/macros/schema_tests/unique_combination_of_columns.sql +++ b/macros/schema_tests/unique_combination_of_columns.sql @@ -1,5 +1,5 @@ {% macro test_unique_combination_of_columns(model, quote_columns = false) %} - {{ adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns = false, **kwargs) }} + {{ return(adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns = false, **kwargs)) }} {% endmacro %} {% macro default__test_unique_combination_of_columns(model, quote_columns = false) %} diff --git a/macros/sql/generate_series.sql b/macros/sql/generate_series.sql index f15990e0..e0bd9a11 100644 --- a/macros/sql/generate_series.sql +++ b/macros/sql/generate_series.sql @@ -16,7 +16,7 @@ {% macro generate_series(upper_bound) %} - {{ adapter.dispatch('generate_series', packages = dbt_utils._get_utils_namespaces())(upper_bound) }} + {{ return(adapter.dispatch('generate_series', packages = dbt_utils._get_utils_namespaces())(upper_bound)) }} {% endmacro %} {% macro default__generate_series(upper_bound) %} diff --git a/macros/sql/get_column_values.sql b/macros/sql/get_column_values.sql index a8e718db..f88ab979 100644 --- a/macros/sql/get_column_values.sql +++ b/macros/sql/get_column_values.sql @@ -11,7 +11,7 @@ Returns: #} {% macro get_column_values(table, column, max_records=none, default=none) -%} - {{ adapter.dispatch('get_column_values', packages = dbt_utils._get_utils_namespaces())(table, column, max_records=none, default=none) }} + {{ return(adapter.dispatch('get_column_values', packages = dbt_utils._get_utils_namespaces())(table, column, max_records=none, default=none)) }} {% endmacro %} {% macro default__get_column_values(table, column, max_records=none, default=none) -%} diff --git a/macros/sql/get_query_results_as_dict.sql b/macros/sql/get_query_results_as_dict.sql index b4a88069..c8d385df 100644 --- a/macros/sql/get_query_results_as_dict.sql +++ b/macros/sql/get_query_results_as_dict.sql @@ -1,5 +1,5 @@ {% macro get_query_results_as_dict(query) %} - {{ adapter.dispatch('get_query_results_as_dict', packages = dbt_utils._get_utils_namespaces())(query) }} + {{ return(adapter.dispatch('get_query_results_as_dict', packages = dbt_utils._get_utils_namespaces())(query)) }} {% endmacro %} {% macro default__get_query_results_as_dict(query) %} diff --git a/macros/sql/get_relations_by_pattern.sql b/macros/sql/get_relations_by_pattern.sql index bfff23ae..c7c344f4 100644 --- a/macros/sql/get_relations_by_pattern.sql +++ b/macros/sql/get_relations_by_pattern.sql @@ -1,5 +1,5 @@ {% macro get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %} - {{ adapter.dispatch('get_relations_by_pattern', packages = dbt_utils._get_utils_namespaces())(schema_pattern, table_pattern, exclude='', database=target.database) }} + {{ return(adapter.dispatch('get_relations_by_pattern', packages = dbt_utils._get_utils_namespaces())(schema_pattern, table_pattern, exclude='', database=target.database)) }} {% endmacro %} {% macro default__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %} diff --git a/macros/sql/get_relations_by_prefix.sql b/macros/sql/get_relations_by_prefix.sql index a9978ae9..7cebf853 100644 --- a/macros/sql/get_relations_by_prefix.sql +++ b/macros/sql/get_relations_by_prefix.sql @@ -1,5 +1,5 @@ {% macro get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %} - {{ adapter.dispatch('get_relations_by_prefix', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database) }} + {{ return(adapter.dispatch('get_relations_by_prefix', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database)) }} {% endmacro %} {% macro default__get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %} diff --git a/macros/sql/get_tables_by_pattern_sql.sql b/macros/sql/get_tables_by_pattern_sql.sql index 8d7c0a30..3000d001 100644 --- a/macros/sql/get_tables_by_pattern_sql.sql +++ b/macros/sql/get_tables_by_pattern_sql.sql @@ -1,6 +1,6 @@ {% macro get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %} - {{ adapter.dispatch('get_tables_by_pattern_sql', packages = dbt_utils._get_utils_namespaces()) - (schema_pattern, table_pattern, exclude, database) }} + {{ return(adapter.dispatch('get_tables_by_pattern_sql', packages = dbt_utils._get_utils_namespaces()) + (schema_pattern, table_pattern, exclude, database)) }} {% endmacro %} {% macro default__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %} diff --git a/macros/sql/get_tables_by_prefix_sql.sql b/macros/sql/get_tables_by_prefix_sql.sql index 9549417f..ba7b0eda 100644 --- a/macros/sql/get_tables_by_prefix_sql.sql +++ b/macros/sql/get_tables_by_prefix_sql.sql @@ -1,5 +1,5 @@ {% macro get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %} - {{ adapter.dispatch('get_tables_by_prefix_sql', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database) }} + {{ return(adapter.dispatch('get_tables_by_prefix_sql', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database)) }} {% endmacro %} {% macro default__get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %} diff --git a/macros/sql/groupby.sql b/macros/sql/groupby.sql index 879a05f6..10350512 100644 --- a/macros/sql/groupby.sql +++ b/macros/sql/groupby.sql @@ -1,5 +1,5 @@ {%- macro group_by(n) -%} - {{ adapter.dispatch('group_by', packages = dbt_utils._get_utils_namespaces())(n) }} + {{ return(adapter.dispatch('group_by', packages = dbt_utils._get_utils_namespaces())(n)) }} {% endmacro %} {%- macro default__group_by(n) -%} diff --git a/macros/sql/nullcheck.sql b/macros/sql/nullcheck.sql index 02ec4a3f..6ef9fa6c 100644 --- a/macros/sql/nullcheck.sql +++ b/macros/sql/nullcheck.sql @@ -1,5 +1,5 @@ {% macro nullcheck(cols) %} - {{ adapter.dispatch('nullcheck', packages = dbt_utils._get_utils_namespaces())(cols) }} + {{ return(adapter.dispatch('nullcheck', packages = dbt_utils._get_utils_namespaces())(cols)) }} {% endmacro %} {% macro default__nullcheck(cols) %} diff --git a/macros/sql/nullcheck_table.sql b/macros/sql/nullcheck_table.sql index 54929152..25b30ce7 100644 --- a/macros/sql/nullcheck_table.sql +++ b/macros/sql/nullcheck_table.sql @@ -1,5 +1,5 @@ {% macro nullcheck_table(relation) %} - {{ adapter.dispatch('nullcheck_table', packages = dbt_utils._get_utils_namespaces())(relation) }} + {{ return(adapter.dispatch('nullcheck_table', packages = dbt_utils._get_utils_namespaces())(relation)) }} {% endmacro %} {% macro default__nullcheck_table(relation) %} diff --git a/macros/sql/pivot.sql b/macros/sql/pivot.sql index 18cf42a2..732fb0d3 100644 --- a/macros/sql/pivot.sql +++ b/macros/sql/pivot.sql @@ -51,7 +51,7 @@ Arguments: else_value=0, quote_identifiers=True, distinct=False) %} - {{ adapter.dispatch('pivot', packages = dbt_utils._get_utils_namespaces())(column, values, alias=True, agg='sum', cmp='=', prefix='', suffix='', then_value=1, else_value=0, quote_identifiers=True, distinct=False) }} + {{ return(adapter.dispatch('pivot', packages = dbt_utils._get_utils_namespaces())(column, values, alias=True, agg='sum', cmp='=', prefix='', suffix='', then_value=1, else_value=0, quote_identifiers=True, distinct=False)) }} {% endmacro %} {% macro default__pivot(column, diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index a9c38bf5..21285ebd 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,5 +1,5 @@ {%- macro safe_add() -%} - {{ adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())() }} + {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())()) }} {% endmacro %} {%- macro default__safe_add() -%} diff --git a/macros/sql/star.sql b/macros/sql/star.sql index 75cbb3e2..93e56fc5 100644 --- a/macros/sql/star.sql +++ b/macros/sql/star.sql @@ -1,5 +1,5 @@ {% macro star(from, relation_alias=False, except=[]) -%} - {{ adapter.dispatch('star', packages = dbt_utils._get_utils_namespaces())(from, relation_alias=False, except=[]) }} + {{ return(adapter.dispatch('star', packages = dbt_utils._get_utils_namespaces())(from, relation_alias=False, except=[])) }} {% endmacro %} {% macro default__star(from, relation_alias=False, except=[]) -%} diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index 1e17e189..d1c2b4e9 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,5 +1,5 @@ {%- macro surrogate_key(field_list) -%} - {{ adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list) }} + {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list)) }} {% endmacro %} {%- macro default__surrogate_key(field_list) -%} diff --git a/macros/sql/union.sql b/macros/sql/union.sql index f4ecde6c..f3af8667 100644 --- a/macros/sql/union.sql +++ b/macros/sql/union.sql @@ -1,5 +1,5 @@ {%- macro union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') -%} - {{ adapter.dispatch('union_relations', packages = dbt_utils._get_utils_namespaces())(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') }} + {{ return(adapter.dispatch('union_relations', packages = dbt_utils._get_utils_namespaces())(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation')) }} {% endmacro %} {%- macro default__union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') -%} diff --git a/macros/sql/unpivot.sql b/macros/sql/unpivot.sql index bb1609c6..c1d172b2 100644 --- a/macros/sql/unpivot.sql +++ b/macros/sql/unpivot.sql @@ -13,7 +13,7 @@ Arguments: #} {% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} - {{ adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) }} + {{ return(adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none)) }} {% endmacro %} {% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} diff --git a/macros/web/get_url_host.sql b/macros/web/get_url_host.sql index fef85627..f1b0ae41 100644 --- a/macros/web/get_url_host.sql +++ b/macros/web/get_url_host.sql @@ -1,5 +1,5 @@ {% macro get_url_host(field) -%} - {{ adapter.dispatch('get_url_host', packages = dbt_utils._get_utils_namespaces())(field) }} + {{ return(adapter.dispatch('get_url_host', packages = dbt_utils._get_utils_namespaces())(field)) }} {% endmacro %} {% macro default__get_url_host(field) -%} diff --git a/macros/web/get_url_parameter.sql b/macros/web/get_url_parameter.sql index 2e9f9b5c..d925a03d 100644 --- a/macros/web/get_url_parameter.sql +++ b/macros/web/get_url_parameter.sql @@ -1,5 +1,5 @@ {% macro get_url_parameter(field, url_parameter) -%} - {{ adapter.dispatch('get_url_parameter', packages = dbt_utils._get_utils_namespaces())(field, url_parameter) }} + {{ return(adapter.dispatch('get_url_parameter', packages = dbt_utils._get_utils_namespaces())(field, url_parameter)) }} {% endmacro %} {% macro default__get_url_parameter(field, url_parameter) -%} diff --git a/macros/web/get_url_path.sql b/macros/web/get_url_path.sql index 28bdbaa5..13a6cd59 100644 --- a/macros/web/get_url_path.sql +++ b/macros/web/get_url_path.sql @@ -1,5 +1,5 @@ {% macro get_url_path(field) -%} - {{ adapter.dispatch('get_url_path', packages = dbt_utils._get_utils_namespaces())(field) }} + {{ return(adapter.dispatch('get_url_path', packages = dbt_utils._get_utils_namespaces())(field)) }} {% endmacro %} {% macro default__get_url_path(field) -%} From 6893304d54889b54ccd21d133d7cdfeb50a58936 Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Tue, 5 Jan 2021 10:20:53 -0700 Subject: [PATCH 13/29] compilation error bug fix --- macros/sql/unpivot.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/unpivot.sql b/macros/sql/unpivot.sql index c1d172b2..bb1609c6 100644 --- a/macros/sql/unpivot.sql +++ b/macros/sql/unpivot.sql @@ -13,7 +13,7 @@ Arguments: #} {% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} - {{ return(adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none)) }} + {{ adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) }} {% endmacro %} {% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} From 274a09b6db7bece072ceb102ea4a0e6bd8ccc02b Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Tue, 5 Jan 2021 10:27:41 -0700 Subject: [PATCH 14/29] undo last commit --- macros/sql/unpivot.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/unpivot.sql b/macros/sql/unpivot.sql index bb1609c6..c1d172b2 100644 --- a/macros/sql/unpivot.sql +++ b/macros/sql/unpivot.sql @@ -13,7 +13,7 @@ Arguments: #} {% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} - {{ adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) }} + {{ return(adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none)) }} {% endmacro %} {% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} From 832f2efeca26bbc92aa641fc40528d129adf18e0 Mon Sep 17 00:00:00 2001 From: Anders Date: Tue, 5 Jan 2021 11:09:19 -0800 Subject: [PATCH 15/29] dispatch shouldn't override macro signature Co-authored-by: Jeremy Cohen --- macros/sql/unpivot.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/unpivot.sql b/macros/sql/unpivot.sql index c1d172b2..1980db01 100644 --- a/macros/sql/unpivot.sql +++ b/macros/sql/unpivot.sql @@ -13,7 +13,7 @@ Arguments: #} {% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} - {{ return(adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none)) }} + {{ return(adapter.dispatch('unpivot', packages = dbt_utils._get_utils_namespaces())(relation, cast_to, exclude, remove, field_name, value_name, table)) }} {% endmacro %} {% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', table=none) -%} From f940504444da8cd6a03f36fa0b08069152f0ebae Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 11:17:19 -0800 Subject: [PATCH 16/29] macro uses varargs --- macros/sql/safe_add.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index 21285ebd..a80e5844 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,5 +1,5 @@ {%- macro safe_add() -%} - {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())()) }} + {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*args) }} {% endmacro %} {%- macro default__safe_add() -%} From cd40119a8f9229493148271d2d7a2bdb52cb7892 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 11:19:49 -0800 Subject: [PATCH 17/29] missing close paren --- macros/sql/safe_add.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index a80e5844..541c2c8c 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,5 +1,5 @@ {%- macro safe_add() -%} - {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*args) }} + {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*args)) }} {% endmacro %} {%- macro default__safe_add() -%} From b4aa85401ea38c4f683b7446de91d93876f5c5c5 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 11:26:14 -0800 Subject: [PATCH 18/29] macro uses varargs --- macros/sql/surrogate_key.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index d1c2b4e9..a3a428ab 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,5 +1,5 @@ {%- macro surrogate_key(field_list) -%} - {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list)) }} + {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list, *args)) }} {% endmacro %} {%- macro default__surrogate_key(field_list) -%} From b5a14efeab96175ad3cf75555960dfcf176710d4 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 11:44:04 -0800 Subject: [PATCH 19/29] hail mary --- macros/sql/surrogate_key.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index a3a428ab..c02cb751 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,4 +1,4 @@ -{%- macro surrogate_key(field_list) -%} +{%- macro surrogate_key(field_list=none) -%} {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list, *args)) }} {% endmacro %} From c9cfad10c36764e819a397e427e2cea31b7c188a Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 11:51:49 -0800 Subject: [PATCH 20/29] whisper Jinja sweet nothings --- macros/sql/safe_add.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index 541c2c8c..8ff1dd3c 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,4 +1,6 @@ {%- macro safe_add() -%} + {# needed for safe_add to allow for non-keyword arguments #} + {% set dummy_var = args %} {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*args)) }} {% endmacro %} From 39775c64513d5b6695edbf61fe2875c772a72ea0 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 11:55:21 -0800 Subject: [PATCH 21/29] sweet hail mary nothings --- macros/sql/safe_add.sql | 5 +++-- macros/sql/surrogate_key.sql | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index 8ff1dd3c..983490c4 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,6 +1,7 @@ {%- macro safe_add() -%} - {# needed for safe_add to allow for non-keyword arguments #} - {% set dummy_var = args %} + {# needed for safe_add to allow for non-keyword arguments see SO post #} + {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #} + {# {{args}} #} {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*args)) }} {% endmacro %} diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index c02cb751..3212a08d 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,4 +1,7 @@ {%- macro surrogate_key(field_list=none) -%} + {# needed for safe_add to allow for non-keyword arguments see SO post #} + {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #} + {# {{args}} #} {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list, *args)) }} {% endmacro %} From 278514be9d8a3a1464b059af5206dceabed557aa Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 12:08:53 -0800 Subject: [PATCH 22/29] give the Jinja what it wants --- macros/sql/safe_add.sql | 2 +- macros/sql/surrogate_key.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index 983490c4..b403f8fc 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,7 +1,7 @@ {%- macro safe_add() -%} {# needed for safe_add to allow for non-keyword arguments see SO post #} {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #} - {# {{args}} #} + {# {{varargs}} #} {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*args)) }} {% endmacro %} diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index 3212a08d..501c79ba 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,7 +1,7 @@ {%- macro surrogate_key(field_list=none) -%} {# needed for safe_add to allow for non-keyword arguments see SO post #} {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #} - {# {{args}} #} + {# {{varargs}} #} {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list, *args)) }} {% endmacro %} From 9bd577b0567a1df76b96a9be453125f024f21fd9 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 12:12:50 -0800 Subject: [PATCH 23/29] goodnight sweet Jinja --- macros/sql/safe_add.sql | 4 ++-- macros/sql/surrogate_key.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/macros/sql/safe_add.sql b/macros/sql/safe_add.sql index b403f8fc..8c3d39ef 100644 --- a/macros/sql/safe_add.sql +++ b/macros/sql/safe_add.sql @@ -1,8 +1,8 @@ {%- macro safe_add() -%} {# needed for safe_add to allow for non-keyword arguments see SO post #} {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #} - {# {{varargs}} #} - {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*args)) }} + {% set frustrating_jinja_feature = varargs %} + {{ return(adapter.dispatch('safe_add', packages = dbt_utils._get_utils_namespaces())(*varargs)) }} {% endmacro %} {%- macro default__safe_add() -%} diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index 501c79ba..f0780b75 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,8 +1,8 @@ {%- macro surrogate_key(field_list=none) -%} {# needed for safe_add to allow for non-keyword arguments see SO post #} {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #} - {# {{varargs}} #} - {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list, *args)) }} + {% set frustrating_jinja_feature = varargs %} + {{ return(adapter.dispatch('surrogate_key', packages = dbt_utils._get_utils_namespaces())(field_list, *varargs)) }} {% endmacro %} {%- macro default__surrogate_key(field_list) -%} From bb3bf4eeba78a2b748b5139da45bb413f9ca9b7b Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 12:35:55 -0800 Subject: [PATCH 24/29] keep dispatch from overriding args --- macros/sql/star.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/star.sql b/macros/sql/star.sql index 93e56fc5..07cb4ebd 100644 --- a/macros/sql/star.sql +++ b/macros/sql/star.sql @@ -1,5 +1,5 @@ {% macro star(from, relation_alias=False, except=[]) -%} - {{ return(adapter.dispatch('star', packages = dbt_utils._get_utils_namespaces())(from, relation_alias=False, except=[])) }} + {{ return(adapter.dispatch('star', packages = dbt_utils._get_utils_namespaces())(from, relation_alias, except)) }} {% endmacro %} {% macro default__star(from, relation_alias=False, except=[]) -%} From 66f0bb0f55a842107c8d5fc0319091df87fb56da Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 12:36:43 -0800 Subject: [PATCH 25/29] stop dispatch from overridding args --- macros/schema_tests/expression_is_true.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/schema_tests/expression_is_true.sql b/macros/schema_tests/expression_is_true.sql index c6934c03..8fe855d4 100644 --- a/macros/schema_tests/expression_is_true.sql +++ b/macros/schema_tests/expression_is_true.sql @@ -1,5 +1,5 @@ {% macro test_expression_is_true(model, condition='true') %} - {{ return(adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition='true', **kwargs)) }} + {{ return(adapter.dispatch('test_expression_is_true', packages = dbt_utils._get_utils_namespaces())(model, condition, **kwargs)) }} {% endmacro %} {% macro default__test_expression_is_true(model, condition='true') %} From 7406f45bba4123532523d646db93f612fbe2bf12 Mon Sep 17 00:00:00 2001 From: chaerinlee1 Date: Tue, 5 Jan 2021 14:58:24 -0700 Subject: [PATCH 26/29] removed default args --- macros/logger/pretty_time.sql | 2 +- macros/schema_tests/mutually_exclusive_ranges.sql | 2 +- macros/schema_tests/unique_combination_of_columns.sql | 2 +- macros/sql/get_column_values.sql | 2 +- macros/sql/get_relations_by_pattern.sql | 2 +- macros/sql/get_relations_by_prefix.sql | 2 +- macros/sql/get_tables_by_prefix_sql.sql | 2 +- macros/sql/pivot.sql | 2 +- macros/sql/union.sql | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/macros/logger/pretty_time.sql b/macros/logger/pretty_time.sql index 2145bdd8..653e53b1 100644 --- a/macros/logger/pretty_time.sql +++ b/macros/logger/pretty_time.sql @@ -1,5 +1,5 @@ {% macro pretty_time(format='%H:%M:%S') %} - {{ return(adapter.dispatch('pretty_time', packages = dbt_utils._get_utils_namespaces())(format='%H:%M:%S')) }} + {{ return(adapter.dispatch('pretty_time', packages = dbt_utils._get_utils_namespaces())(format)) }} {% endmacro %} {% macro default__pretty_time(format='%H:%M:%S') %} diff --git a/macros/schema_tests/mutually_exclusive_ranges.sql b/macros/schema_tests/mutually_exclusive_ranges.sql index d97910b9..cd7a33d0 100644 --- a/macros/schema_tests/mutually_exclusive_ranges.sql +++ b/macros/schema_tests/mutually_exclusive_ranges.sql @@ -1,5 +1,5 @@ {% macro test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %} - {{ return(adapter.dispatch('test_mutually_exclusive_ranges', packages = dbt_utils._get_utils_namespaces())(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed')) }} + {{ return(adapter.dispatch('test_mutually_exclusive_ranges', packages = dbt_utils._get_utils_namespaces())(model, lower_bound_column, upper_bound_column, partition_by, gaps)) }} {% endmacro %} {% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %} diff --git a/macros/schema_tests/unique_combination_of_columns.sql b/macros/schema_tests/unique_combination_of_columns.sql index b3add5bc..835d37b4 100644 --- a/macros/schema_tests/unique_combination_of_columns.sql +++ b/macros/schema_tests/unique_combination_of_columns.sql @@ -1,5 +1,5 @@ {% macro test_unique_combination_of_columns(model, quote_columns = false) %} - {{ return(adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns = false, **kwargs)) }} + {{ return(adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns, **kwargs)) }} {% endmacro %} {% macro default__test_unique_combination_of_columns(model, quote_columns = false) %} diff --git a/macros/sql/get_column_values.sql b/macros/sql/get_column_values.sql index f88ab979..39aa96c9 100644 --- a/macros/sql/get_column_values.sql +++ b/macros/sql/get_column_values.sql @@ -11,7 +11,7 @@ Returns: #} {% macro get_column_values(table, column, max_records=none, default=none) -%} - {{ return(adapter.dispatch('get_column_values', packages = dbt_utils._get_utils_namespaces())(table, column, max_records=none, default=none)) }} + {{ return(adapter.dispatch('get_column_values', packages = dbt_utils._get_utils_namespaces())(table, column, max_records, default)) }} {% endmacro %} {% macro default__get_column_values(table, column, max_records=none, default=none) -%} diff --git a/macros/sql/get_relations_by_pattern.sql b/macros/sql/get_relations_by_pattern.sql index c7c344f4..59a5ea08 100644 --- a/macros/sql/get_relations_by_pattern.sql +++ b/macros/sql/get_relations_by_pattern.sql @@ -1,5 +1,5 @@ {% macro get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %} - {{ return(adapter.dispatch('get_relations_by_pattern', packages = dbt_utils._get_utils_namespaces())(schema_pattern, table_pattern, exclude='', database=target.database)) }} + {{ return(adapter.dispatch('get_relations_by_pattern', packages = dbt_utils._get_utils_namespaces())(schema_pattern, table_pattern, exclude, database)) }} {% endmacro %} {% macro default__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %} diff --git a/macros/sql/get_relations_by_prefix.sql b/macros/sql/get_relations_by_prefix.sql index 7cebf853..1fde612d 100644 --- a/macros/sql/get_relations_by_prefix.sql +++ b/macros/sql/get_relations_by_prefix.sql @@ -1,5 +1,5 @@ {% macro get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %} - {{ return(adapter.dispatch('get_relations_by_prefix', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database)) }} + {{ return(adapter.dispatch('get_relations_by_prefix', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude, database)) }} {% endmacro %} {% macro default__get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %} diff --git a/macros/sql/get_tables_by_prefix_sql.sql b/macros/sql/get_tables_by_prefix_sql.sql index ba7b0eda..9b1d8ef5 100644 --- a/macros/sql/get_tables_by_prefix_sql.sql +++ b/macros/sql/get_tables_by_prefix_sql.sql @@ -1,5 +1,5 @@ {% macro get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %} - {{ return(adapter.dispatch('get_tables_by_prefix_sql', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude='', database=target.database)) }} + {{ return(adapter.dispatch('get_tables_by_prefix_sql', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude, database)) }} {% endmacro %} {% macro default__get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %} diff --git a/macros/sql/pivot.sql b/macros/sql/pivot.sql index 732fb0d3..231a9908 100644 --- a/macros/sql/pivot.sql +++ b/macros/sql/pivot.sql @@ -51,7 +51,7 @@ Arguments: else_value=0, quote_identifiers=True, distinct=False) %} - {{ return(adapter.dispatch('pivot', packages = dbt_utils._get_utils_namespaces())(column, values, alias=True, agg='sum', cmp='=', prefix='', suffix='', then_value=1, else_value=0, quote_identifiers=True, distinct=False)) }} + {{ return(adapter.dispatch('pivot', packages = dbt_utils._get_utils_namespaces())(column, values, alias, agg, cmp, prefix, suffix, then_value, else_value, quote_identifiers, distinct)) }} {% endmacro %} {% macro default__pivot(column, diff --git a/macros/sql/union.sql b/macros/sql/union.sql index f3af8667..85522847 100644 --- a/macros/sql/union.sql +++ b/macros/sql/union.sql @@ -1,5 +1,5 @@ {%- macro union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') -%} - {{ return(adapter.dispatch('union_relations', packages = dbt_utils._get_utils_namespaces())(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation')) }} + {{ return(adapter.dispatch('union_relations', packages = dbt_utils._get_utils_namespaces())(relations, column_override, include, exclude, source_column_name)) }} {% endmacro %} {%- macro default__union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation') -%} From 2cb81ffe3074447d78f4dc1764b3ab0802b45fac Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Tue, 5 Jan 2021 14:52:49 -0800 Subject: [PATCH 27/29] undo small tweak --- macros/sql/surrogate_key.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/sql/surrogate_key.sql b/macros/sql/surrogate_key.sql index f0780b75..7dc142d8 100644 --- a/macros/sql/surrogate_key.sql +++ b/macros/sql/surrogate_key.sql @@ -1,4 +1,4 @@ -{%- macro surrogate_key(field_list=none) -%} +{%- macro surrogate_key(field_list) -%} {# needed for safe_add to allow for non-keyword arguments see SO post #} {# https://stackoverflow.com/questions/13944751/args-kwargs-in-jinja2-macros #} {% set frustrating_jinja_feature = varargs %} From 178cdbb1152453cc64a1f72ac2b703773ff3fcf6 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Wed, 6 Jan 2021 01:27:20 -0800 Subject: [PATCH 28/29] not needed --- integration_tests/dbt_project.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 6f251214..c25df991 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -19,9 +19,6 @@ clean-targets: # directories to be removed by `dbt clean` - "target" - "dbt_modules" -vars: - dbt_utils_dispatch_list: ['dbt_utils'] - seeds: +quote_columns: false From 20034bd60a69bfd1406df5bed8b3c3a905aba42c Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Fri, 8 Jan 2021 11:29:24 -0800 Subject: [PATCH 29/29] for posterity --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c76f1a2..0454fa05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - 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)) - Fix `equality` test when used with ephemeral models + explicit column set ([#321](https://github.com/fishtown-analytics/dbt-utils/pull/321)) - Fix `get_query_results_as_dict` integration test with consistent ordering ([#322](https://github.com/fishtown-analytics/dbt-utils/pull/322)) +- 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) # dbt-utils v0.6.3