From 76cd8b48d57def63454e416f9e8f63d22b1f8a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Weso=C5=82owski?= Date: Wed, 3 Jul 2024 10:26:11 +0200 Subject: [PATCH 1/5] Created macro that redefines type_string for redshift which is used by models in dbt_project_evaluator package. No need to override it for all models in a project anymore when using package. --- README.md | 2 +- macros/cross_db_shim/redshift_shims.sql | 3 -- macros/unpack/type_string.sql | 11 ++++++ .../base/base_exposure_relationships.sql | 4 +- .../graph/base/base_metric_relationships.sql | 4 +- .../staging/graph/base/base_node_columns.sql | 10 ++--- .../graph/base/base_node_relationships.sql | 4 +- .../graph/base/base_source_columns.sql | 10 ++--- models/staging/graph/stg_exposures.sql | 22 +++++------ models/staging/graph/stg_metrics.sql | 32 ++++++++-------- models/staging/graph/stg_nodes.sql | 38 +++++++++---------- models/staging/graph/stg_sources.sql | 26 ++++++------- 12 files changed, 87 insertions(+), 79 deletions(-) delete mode 100644 macros/cross_db_shim/redshift_shims.sql create mode 100644 macros/unpack/type_string.sql diff --git a/README.md b/README.md index d59486aa..f12edfb4 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Currently, the following adapters are supported: Check [dbt Hub](https://hub.getdbt.com/dbt-labs/dbt_project_evaluator/latest/) for the latest installation instructions, or [read the docs](https://docs.getdbt.com/docs/package-management) for more information on installing packages. -### Additional setup for Databricks/Spark/DuckDB/Redshift +### Additional setup for Databricks/Spark/DuckDB In your `dbt_project.yml`, add the following config: diff --git a/macros/cross_db_shim/redshift_shims.sql b/macros/cross_db_shim/redshift_shims.sql deleted file mode 100644 index 70110db1..00000000 --- a/macros/cross_db_shim/redshift_shims.sql +++ /dev/null @@ -1,3 +0,0 @@ -{%- macro redshift__type_string() -%} - {{ "VARCHAR(600)" }} -{%- endmacro %} \ No newline at end of file diff --git a/macros/unpack/type_string.sql b/macros/unpack/type_string.sql new file mode 100644 index 00000000..dc5bf6be --- /dev/null +++ b/macros/unpack/type_string.sql @@ -0,0 +1,11 @@ +{%- macro type_string() -%} + {{ return(adapter.dispatch('type_string', 'dbt_project_evaluator')()) }} +{%- endmacro -%} + +{%- macro default__type_string() -%} + {{ return(dbt.type_string()) }} +{%- endmacro -%} + +{%- macro redshift__type_string() -%} + varchar(600) +{%- endmacro -%} diff --git a/models/staging/graph/base/base_exposure_relationships.sql b/models/staging/graph/base/base_exposure_relationships.sql index 4f69c6ce..69c896d8 100644 --- a/models/staging/graph/base/base_exposure_relationships.sql +++ b/models/staging/graph/base/base_exposure_relationships.sql @@ -15,8 +15,8 @@ with dummy_cte as ( ) select - cast(null as {{ dbt.type_string()}}) as resource_id, - cast(null as {{ dbt.type_string()}}) as direct_parent_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as resource_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as direct_parent_id, cast(True as boolean) as is_primary_relationship from dummy_cte diff --git a/models/staging/graph/base/base_metric_relationships.sql b/models/staging/graph/base/base_metric_relationships.sql index 565643f9..1d48d169 100644 --- a/models/staging/graph/base/base_metric_relationships.sql +++ b/models/staging/graph/base/base_metric_relationships.sql @@ -15,8 +15,8 @@ with dummy_cte as ( ) select - cast(null as {{ dbt.type_string()}}) as resource_id, - cast(null as {{ dbt.type_string()}}) as direct_parent_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as resource_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as direct_parent_id, cast(True as boolean) as is_primary_relationship from dummy_cte diff --git a/models/staging/graph/base/base_node_columns.sql b/models/staging/graph/base/base_node_columns.sql index d08954c1..a0135f20 100644 --- a/models/staging/graph/base/base_node_columns.sql +++ b/models/staging/graph/base/base_node_columns.sql @@ -14,14 +14,14 @@ with dummy_cte as ( ) select - cast(null as {{ dbt.type_string() }}) as node_unique_id, - cast(null as {{ dbt.type_string()}}) as name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as node_unique_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as name, cast(null as {{ dbt_project_evaluator.type_large_string()}}) as description, - cast(null as {{ dbt.type_string()}}) as data_type, - cast(null as {{ dbt.type_string()}}) as constraints, + cast(null as {{ dbt_project_evaluator.type_string()}}) as data_type, + cast(null as {{ dbt_project_evaluator.type_string()}}) as constraints, cast(True as boolean) as has_not_null_constraint, cast(0 as {{ dbt.type_int() }}) as constraints_count, - cast(null as {{ dbt.type_string()}}) as quote + cast(null as {{ dbt_project_evaluator.type_string()}}) as quote from dummy_cte where false diff --git a/models/staging/graph/base/base_node_relationships.sql b/models/staging/graph/base/base_node_relationships.sql index 0592e789..96bd2f23 100644 --- a/models/staging/graph/base/base_node_relationships.sql +++ b/models/staging/graph/base/base_node_relationships.sql @@ -14,8 +14,8 @@ with dummy_cte as ( ) select - cast(null as {{ dbt.type_string()}}) as resource_id, - cast(null as {{ dbt.type_string()}}) as direct_parent_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as resource_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as direct_parent_id, cast(True as boolean) as is_primary_relationship from dummy_cte diff --git a/models/staging/graph/base/base_source_columns.sql b/models/staging/graph/base/base_source_columns.sql index 98705232..02694a4a 100644 --- a/models/staging/graph/base/base_source_columns.sql +++ b/models/staging/graph/base/base_source_columns.sql @@ -14,14 +14,14 @@ with dummy_cte as ( ) select - cast(null as {{ dbt.type_string() }}) as node_unique_id, - cast(null as {{ dbt.type_string()}}) as name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as node_unique_id, + cast(null as {{ dbt_project_evaluator.type_string()}}) as name, cast(null as {{ dbt_project_evaluator.type_large_string()}}) as description, - cast(null as {{ dbt.type_string()}}) as data_type, - cast(null as {{ dbt.type_string()}}) as constraints, + cast(null as {{ dbt_project_evaluator.type_string()}}) as data_type, + cast(null as {{ dbt_project_evaluator.type_string()}}) as constraints, cast(True as boolean) as has_not_null_constraint, cast(0 as {{ dbt.type_int() }}) as constraints_count, - cast(null as {{ dbt.type_string()}}) as quote + cast(null as {{ dbt_project_evaluator.type_string()}}) as quote from dummy_cte where false \ No newline at end of file diff --git a/models/staging/graph/stg_exposures.sql b/models/staging/graph/stg_exposures.sql index 3014effb..76a8f06d 100644 --- a/models/staging/graph/stg_exposures.sql +++ b/models/staging/graph/stg_exposures.sql @@ -15,18 +15,18 @@ with dummy_cte as ( select - cast(null as {{ dbt.type_string() }} ) as unique_id, - cast(null as {{ dbt.type_string() }} ) as name, - cast(null as {{ dbt.type_string() }} ) as resource_type, - cast(null as {{ dbt.type_string() }} ) as file_path, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as name, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as file_path, cast(True as boolean) as is_described, - cast(null as {{ dbt.type_string() }} ) as exposure_type, - cast(null as {{ dbt.type_string() }} ) as maturity, - cast(null as {{ dbt.type_string() }} ) as package_name, - cast(null as {{ dbt.type_string() }} ) as url, - cast(null as {{ dbt.type_string() }} ) as owner_name, - cast(null as {{ dbt.type_string() }} ) as owner_email, - cast(null as {{ dbt.type_string() }} ) as meta + cast(null as {{ dbt_project_evaluator.type_string() }} ) as exposure_type, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as maturity, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as package_name, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as url, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as owner_name, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as owner_email, + cast(null as {{ dbt_project_evaluator.type_string() }} ) as meta from dummy_cte where false \ No newline at end of file diff --git a/models/staging/graph/stg_metrics.sql b/models/staging/graph/stg_metrics.sql index dd37b9a1..7a4a5874 100644 --- a/models/staging/graph/stg_metrics.sql +++ b/models/staging/graph/stg_metrics.sql @@ -15,23 +15,23 @@ with dummy_cte as ( select - cast(null as {{ dbt.type_string() }}) as unique_id, - cast(null as {{ dbt.type_string() }}) as name, - cast(null as {{ dbt.type_string() }}) as resource_type, - cast(null as {{ dbt.type_string() }}) as file_path, + cast(null as {{ dbt_project_evaluator.type_string() }}) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string() }}) as name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string() }}) as file_path, cast(True as boolean) as is_described, - cast(null as {{ dbt.type_string() }}) as metric_type, - cast(null as {{ dbt.type_string() }}) as label, - cast(null as {{ dbt.type_string() }}) as package_name, - cast(null as {{ dbt.type_string() }}) as metric_filter, - cast(null as {{ dbt.type_string() }}) as metric_measure, - cast(null as {{ dbt.type_string() }}) as metric_measure_alias, - cast(null as {{ dbt.type_string() }}) as numerator, - cast(null as {{ dbt.type_string() }}) as denominator, - cast(null as {{ dbt.type_string() }}) as expr, - cast(null as {{ dbt.type_string() }}) as metric_window, - cast(null as {{ dbt.type_string() }}) as grain_to_date, - cast(null as {{ dbt.type_string() }}) as meta + cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_type, + cast(null as {{ dbt_project_evaluator.type_string() }}) as label, + cast(null as {{ dbt_project_evaluator.type_string() }}) as package_name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_filter, + cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_measure, + cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_measure_alias, + cast(null as {{ dbt_project_evaluator.type_string() }}) as numerator, + cast(null as {{ dbt_project_evaluator.type_string() }}) as denominator, + cast(null as {{ dbt_project_evaluator.type_string() }}) as expr, + cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_window, + cast(null as {{ dbt_project_evaluator.type_string() }}) as grain_to_date, + cast(null as {{ dbt_project_evaluator.type_string() }}) as meta from dummy_cte where false \ No newline at end of file diff --git a/models/staging/graph/stg_nodes.sql b/models/staging/graph/stg_nodes.sql index 71025190..397f551a 100644 --- a/models/staging/graph/stg_nodes.sql +++ b/models/staging/graph/stg_nodes.sql @@ -16,32 +16,32 @@ with dummy_cte as ( select - cast(null as {{ dbt.type_string() }}) as unique_id, - cast(null as {{ dbt.type_string() }}) as name, - cast(null as {{ dbt.type_string() }}) as resource_type, - cast(null as {{ dbt.type_string() }}) as file_path, + cast(null as {{ dbt_project_evaluator.type_string() }}) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string() }}) as name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string() }}) as file_path, cast(True as boolean) as is_enabled, - cast(null as {{ dbt.type_string() }}) as materialized, - cast(null as {{ dbt.type_string() }}) as on_schema_change, - cast(null as {{ dbt.type_string() }}) as model_group, - cast(null as {{ dbt.type_string() }}) as access, - cast(null as {{ dbt.type_string() }}) as latest_version, - cast(null as {{ dbt.type_string() }}) as version, - cast(null as {{ dbt.type_string() }}) as deprecation_date, + cast(null as {{ dbt_project_evaluator.type_string() }}) as materialized, + cast(null as {{ dbt_project_evaluator.type_string() }}) as on_schema_change, + cast(null as {{ dbt_project_evaluator.type_string() }}) as model_group, + cast(null as {{ dbt_project_evaluator.type_string() }}) as access, + cast(null as {{ dbt_project_evaluator.type_string() }}) as latest_version, + cast(null as {{ dbt_project_evaluator.type_string() }}) as version, + cast(null as {{ dbt_project_evaluator.type_string() }}) as deprecation_date, cast(True as boolean) as is_contract_enforced, cast(0 as {{ dbt.type_int() }}) as total_defined_columns, cast(0 as {{ dbt.type_int() }}) as total_described_columns, - cast(null as {{ dbt.type_string() }}) as database, - cast(null as {{ dbt.type_string() }}) as schema, - cast(null as {{ dbt.type_string() }}) as package_name, - cast(null as {{ dbt.type_string() }}) as alias, + cast(null as {{ dbt_project_evaluator.type_string() }}) as database, + cast(null as {{ dbt_project_evaluator.type_string() }}) as schema, + cast(null as {{ dbt_project_evaluator.type_string() }}) as package_name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as alias, cast(True as boolean) as is_described, - cast(null as {{ dbt.type_string() }}) as column_name, - cast(null as {{ dbt.type_string() }}) as meta, - cast(null as {{ dbt.type_string() }}) as hard_coded_references, + cast(null as {{ dbt_project_evaluator.type_string() }}) as column_name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as meta, + cast(null as {{ dbt_project_evaluator.type_string() }}) as hard_coded_references, cast(null as {{ dbt.type_int() }}) as number_lines, cast(null as {{ dbt.type_float() }}) as sql_complexity, - cast(null as {{ dbt.type_string() }}) as macro_dependencies, + cast(null as {{ dbt_project_evaluator.type_string() }}) as macro_dependencies, cast(True as boolean) as is_generic_test, cast(True as boolean) as is_excluded diff --git a/models/staging/graph/stg_sources.sql b/models/staging/graph/stg_sources.sql index ed018971..564beaa9 100644 --- a/models/staging/graph/stg_sources.sql +++ b/models/staging/graph/stg_sources.sql @@ -16,22 +16,22 @@ with dummy_cte as ( select - cast(null as {{ dbt.type_string() }}) as unique_id, - cast(null as {{ dbt.type_string() }}) as name, - cast(null as {{ dbt.type_string() }}) as file_path, - cast(null as {{ dbt.type_string() }}) as alias, - cast(null as {{ dbt.type_string() }}) as resource_type, - cast(null as {{ dbt.type_string() }}) as source_name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string() }}) as name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as file_path, + cast(null as {{ dbt_project_evaluator.type_string() }}) as alias, + cast(null as {{ dbt_project_evaluator.type_string() }}) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string() }}) as source_name, cast(True as boolean) as is_source_described, cast(True as boolean) as is_described, cast(True as boolean) as is_enabled, - cast(null as {{ dbt.type_string() }}) as loaded_at_field, - cast(null as {{ dbt.type_string() }}) as database, - cast(null as {{ dbt.type_string() }}) as schema, - cast(null as {{ dbt.type_string() }}) as package_name, - cast(null as {{ dbt.type_string() }}) as loader, - cast(null as {{ dbt.type_string() }}) as identifier, - cast(null as {{ dbt.type_string() }}) as meta, + cast(null as {{ dbt_project_evaluator.type_string() }}) as loaded_at_field, + cast(null as {{ dbt_project_evaluator.type_string() }}) as database, + cast(null as {{ dbt_project_evaluator.type_string() }}) as schema, + cast(null as {{ dbt_project_evaluator.type_string() }}) as package_name, + cast(null as {{ dbt_project_evaluator.type_string() }}) as loader, + cast(null as {{ dbt_project_evaluator.type_string() }}) as identifier, + cast(null as {{ dbt_project_evaluator.type_string() }}) as meta, cast(True as boolean) as is_excluded from dummy_cte From 26b2f875014a647743078f1cc87202b7787c4ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Weso=C5=82owski?= Date: Wed, 3 Jul 2024 14:33:44 +0200 Subject: [PATCH 2/5] improved type_string() with api.Column.string_type(600) and bigquery specific implementation --- macros/unpack/type_string.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/macros/unpack/type_string.sql b/macros/unpack/type_string.sql index dc5bf6be..f868ba0f 100644 --- a/macros/unpack/type_string.sql +++ b/macros/unpack/type_string.sql @@ -3,9 +3,9 @@ {%- endmacro -%} {%- macro default__type_string() -%} - {{ return(dbt.type_string()) }} + {{ return(api.Column.string_type(600)) }} {%- endmacro -%} -{%- macro redshift__type_string() -%} - varchar(600) +{%- macro bigquery__type_string() -%} + {{ return("STRING") }} {%- endmacro -%} From 4d6fc44fa57904ecb849b46bf7f4ef53f6389e77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Weso=C5=82owski?= Date: Wed, 3 Jul 2024 14:51:02 +0200 Subject: [PATCH 3/5] improved type_string() databricks specific implementation --- macros/unpack/type_string.sql | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/macros/unpack/type_string.sql b/macros/unpack/type_string.sql index f868ba0f..deab7244 100644 --- a/macros/unpack/type_string.sql +++ b/macros/unpack/type_string.sql @@ -9,3 +9,7 @@ {%- macro bigquery__type_string() -%} {{ return("STRING") }} {%- endmacro -%} + +{%- macro databricks__type_string() -%} + {{ return("STRING") }} +{%- endmacro -%} \ No newline at end of file From 14c3c711befae5c07cc09c7a149a79b47bb8d15f Mon Sep 17 00:00:00 2001 From: Benoit Perigaud <8754100+b-per@users.noreply.github.com> Date: Mon, 19 Aug 2024 19:16:39 +0200 Subject: [PATCH 4/5] Use DPE own type_string --- macros/{unpack => cross_db_shim}/type_large_string.sql | 0 macros/{unpack => cross_db_shim}/type_string.sql | 10 +++------- macros/unpack/get_relationship_values.sql | 8 ++++---- macros/wrap_string_with_quotes.sql | 2 +- 4 files changed, 8 insertions(+), 12 deletions(-) rename macros/{unpack => cross_db_shim}/type_large_string.sql (100%) rename macros/{unpack => cross_db_shim}/type_string.sql (61%) diff --git a/macros/unpack/type_large_string.sql b/macros/cross_db_shim/type_large_string.sql similarity index 100% rename from macros/unpack/type_large_string.sql rename to macros/cross_db_shim/type_large_string.sql diff --git a/macros/unpack/type_string.sql b/macros/cross_db_shim/type_string.sql similarity index 61% rename from macros/unpack/type_string.sql rename to macros/cross_db_shim/type_string.sql index deab7244..387f6ea0 100644 --- a/macros/unpack/type_string.sql +++ b/macros/cross_db_shim/type_string.sql @@ -3,13 +3,9 @@ {%- endmacro -%} {%- macro default__type_string() -%} - {{ return(api.Column.string_type(600)) }} + {{ return(dbt.type_string()) }} {%- endmacro -%} -{%- macro bigquery__type_string() -%} - {{ return("STRING") }} +{%- macro redshift__type_string() -%} + {{ return(api.Column.string_type(600)) }} {%- endmacro -%} - -{%- macro databricks__type_string() -%} - {{ return("STRING") }} -{%- endmacro -%} \ No newline at end of file diff --git a/macros/unpack/get_relationship_values.sql b/macros/unpack/get_relationship_values.sql index c67ce780..6dabc4e1 100644 --- a/macros/unpack/get_relationship_values.sql +++ b/macros/unpack/get_relationship_values.sql @@ -23,8 +23,8 @@ {%- set values_line = [ - "cast('" ~ node.unique_id ~ "' as " ~ dbt.type_string() ~ ")", - "cast(NULL as " ~ dbt.type_string() ~ ")", + "cast('" ~ node.unique_id ~ "' as " ~ dbt_project_evaluator.type_string() ~ ")", + "cast(NULL as " ~ dbt_project_evaluator.type_string() ~ ")", "FALSE", ] %} @@ -37,8 +37,8 @@ {%- set values_line = [ - "cast('" ~ node.unique_id ~ "' as " ~ dbt.type_string() ~ ")", - "cast('" ~ parent ~ "' as " ~ dbt.type_string() ~ ")", + "cast('" ~ node.unique_id ~ "' as " ~ dbt_project_evaluator.type_string() ~ ")", + "cast('" ~ parent ~ "' as " ~ dbt_project_evaluator.type_string() ~ ")", "" ~ loop.last ~ "" if node.unique_id.split('.')[0] == 'test' else "FALSE" ] %} diff --git a/macros/wrap_string_with_quotes.sql b/macros/wrap_string_with_quotes.sql index cc8c27a0..6581efcc 100644 --- a/macros/wrap_string_with_quotes.sql +++ b/macros/wrap_string_with_quotes.sql @@ -1,6 +1,6 @@ {% macro wrap_string_with_quotes(str) %} {% if str is none %} - {{ return('cast(NULL as ' ~ dbt.type_string() ~ ')') }} + {{ return('cast(NULL as ' ~ dbt_project_evaluator.type_string() ~ ')') }} {% else %} {{ dbt.string_literal(str) }} {% endif %} From a4f2a82d0b7b866bc4541e1b8fa8e0e7cac5436e Mon Sep 17 00:00:00 2001 From: Benoit Perigaud <8754100+b-per@users.noreply.github.com> Date: Mon, 19 Aug 2024 19:36:55 +0200 Subject: [PATCH 5/5] Rename macro to avoid recursive errors --- macros/cross_db_shim/type_string.sql | 8 ++-- macros/unpack/get_relationship_values.sql | 8 ++-- macros/wrap_string_with_quotes.sql | 2 +- .../base/base_exposure_relationships.sql | 4 +- .../graph/base/base_metric_relationships.sql | 4 +- .../staging/graph/base/base_node_columns.sql | 10 ++--- .../graph/base/base_node_relationships.sql | 4 +- .../graph/base/base_source_columns.sql | 10 ++--- models/staging/graph/stg_exposures.sql | 22 +++++------ models/staging/graph/stg_metrics.sql | 32 ++++++++-------- models/staging/graph/stg_nodes.sql | 38 +++++++++---------- models/staging/graph/stg_sources.sql | 26 ++++++------- 12 files changed, 84 insertions(+), 84 deletions(-) diff --git a/macros/cross_db_shim/type_string.sql b/macros/cross_db_shim/type_string.sql index 387f6ea0..a93db6db 100644 --- a/macros/cross_db_shim/type_string.sql +++ b/macros/cross_db_shim/type_string.sql @@ -1,11 +1,11 @@ -{%- macro type_string() -%} - {{ return(adapter.dispatch('type_string', 'dbt_project_evaluator')()) }} +{%- macro type_string_dpe() -%} + {{ return(adapter.dispatch('type_string_dpe', 'dbt_project_evaluator')()) }} {%- endmacro -%} -{%- macro default__type_string() -%} +{%- macro default__type_string_dpe() -%} {{ return(dbt.type_string()) }} {%- endmacro -%} -{%- macro redshift__type_string() -%} +{%- macro redshift__type_string_dpe() -%} {{ return(api.Column.string_type(600)) }} {%- endmacro -%} diff --git a/macros/unpack/get_relationship_values.sql b/macros/unpack/get_relationship_values.sql index 6dabc4e1..9c9bb302 100644 --- a/macros/unpack/get_relationship_values.sql +++ b/macros/unpack/get_relationship_values.sql @@ -23,8 +23,8 @@ {%- set values_line = [ - "cast('" ~ node.unique_id ~ "' as " ~ dbt_project_evaluator.type_string() ~ ")", - "cast(NULL as " ~ dbt_project_evaluator.type_string() ~ ")", + "cast('" ~ node.unique_id ~ "' as " ~ dbt_project_evaluator.type_string_dpe() ~ ")", + "cast(NULL as " ~ dbt_project_evaluator.type_string_dpe() ~ ")", "FALSE", ] %} @@ -37,8 +37,8 @@ {%- set values_line = [ - "cast('" ~ node.unique_id ~ "' as " ~ dbt_project_evaluator.type_string() ~ ")", - "cast('" ~ parent ~ "' as " ~ dbt_project_evaluator.type_string() ~ ")", + "cast('" ~ node.unique_id ~ "' as " ~ dbt_project_evaluator.type_string_dpe() ~ ")", + "cast('" ~ parent ~ "' as " ~ dbt_project_evaluator.type_string_dpe() ~ ")", "" ~ loop.last ~ "" if node.unique_id.split('.')[0] == 'test' else "FALSE" ] %} diff --git a/macros/wrap_string_with_quotes.sql b/macros/wrap_string_with_quotes.sql index 6581efcc..9b0e7def 100644 --- a/macros/wrap_string_with_quotes.sql +++ b/macros/wrap_string_with_quotes.sql @@ -1,6 +1,6 @@ {% macro wrap_string_with_quotes(str) %} {% if str is none %} - {{ return('cast(NULL as ' ~ dbt_project_evaluator.type_string() ~ ')') }} + {{ return('cast(NULL as ' ~ dbt_project_evaluator.type_string_dpe() ~ ')') }} {% else %} {{ dbt.string_literal(str) }} {% endif %} diff --git a/models/staging/graph/base/base_exposure_relationships.sql b/models/staging/graph/base/base_exposure_relationships.sql index 69c896d8..15b147ae 100644 --- a/models/staging/graph/base/base_exposure_relationships.sql +++ b/models/staging/graph/base/base_exposure_relationships.sql @@ -15,8 +15,8 @@ with dummy_cte as ( ) select - cast(null as {{ dbt_project_evaluator.type_string()}}) as resource_id, - cast(null as {{ dbt_project_evaluator.type_string()}}) as direct_parent_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as resource_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as direct_parent_id, cast(True as boolean) as is_primary_relationship from dummy_cte diff --git a/models/staging/graph/base/base_metric_relationships.sql b/models/staging/graph/base/base_metric_relationships.sql index 1d48d169..72fdc56d 100644 --- a/models/staging/graph/base/base_metric_relationships.sql +++ b/models/staging/graph/base/base_metric_relationships.sql @@ -15,8 +15,8 @@ with dummy_cte as ( ) select - cast(null as {{ dbt_project_evaluator.type_string()}}) as resource_id, - cast(null as {{ dbt_project_evaluator.type_string()}}) as direct_parent_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as resource_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as direct_parent_id, cast(True as boolean) as is_primary_relationship from dummy_cte diff --git a/models/staging/graph/base/base_node_columns.sql b/models/staging/graph/base/base_node_columns.sql index a0135f20..817021e3 100644 --- a/models/staging/graph/base/base_node_columns.sql +++ b/models/staging/graph/base/base_node_columns.sql @@ -14,14 +14,14 @@ with dummy_cte as ( ) select - cast(null as {{ dbt_project_evaluator.type_string() }}) as node_unique_id, - cast(null as {{ dbt_project_evaluator.type_string()}}) as name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as node_unique_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as name, cast(null as {{ dbt_project_evaluator.type_large_string()}}) as description, - cast(null as {{ dbt_project_evaluator.type_string()}}) as data_type, - cast(null as {{ dbt_project_evaluator.type_string()}}) as constraints, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as data_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as constraints, cast(True as boolean) as has_not_null_constraint, cast(0 as {{ dbt.type_int() }}) as constraints_count, - cast(null as {{ dbt_project_evaluator.type_string()}}) as quote + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as quote from dummy_cte where false diff --git a/models/staging/graph/base/base_node_relationships.sql b/models/staging/graph/base/base_node_relationships.sql index 96bd2f23..ad74a52c 100644 --- a/models/staging/graph/base/base_node_relationships.sql +++ b/models/staging/graph/base/base_node_relationships.sql @@ -14,8 +14,8 @@ with dummy_cte as ( ) select - cast(null as {{ dbt_project_evaluator.type_string()}}) as resource_id, - cast(null as {{ dbt_project_evaluator.type_string()}}) as direct_parent_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as resource_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as direct_parent_id, cast(True as boolean) as is_primary_relationship from dummy_cte diff --git a/models/staging/graph/base/base_source_columns.sql b/models/staging/graph/base/base_source_columns.sql index 02694a4a..f4dcc954 100644 --- a/models/staging/graph/base/base_source_columns.sql +++ b/models/staging/graph/base/base_source_columns.sql @@ -14,14 +14,14 @@ with dummy_cte as ( ) select - cast(null as {{ dbt_project_evaluator.type_string() }}) as node_unique_id, - cast(null as {{ dbt_project_evaluator.type_string()}}) as name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as node_unique_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as name, cast(null as {{ dbt_project_evaluator.type_large_string()}}) as description, - cast(null as {{ dbt_project_evaluator.type_string()}}) as data_type, - cast(null as {{ dbt_project_evaluator.type_string()}}) as constraints, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as data_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as constraints, cast(True as boolean) as has_not_null_constraint, cast(0 as {{ dbt.type_int() }}) as constraints_count, - cast(null as {{ dbt_project_evaluator.type_string()}}) as quote + cast(null as {{ dbt_project_evaluator.type_string_dpe()}}) as quote from dummy_cte where false \ No newline at end of file diff --git a/models/staging/graph/stg_exposures.sql b/models/staging/graph/stg_exposures.sql index 76a8f06d..d36cc1e7 100644 --- a/models/staging/graph/stg_exposures.sql +++ b/models/staging/graph/stg_exposures.sql @@ -15,18 +15,18 @@ with dummy_cte as ( select - cast(null as {{ dbt_project_evaluator.type_string() }} ) as unique_id, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as name, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as resource_type, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as file_path, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as file_path, cast(True as boolean) as is_described, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as exposure_type, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as maturity, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as package_name, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as url, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as owner_name, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as owner_email, - cast(null as {{ dbt_project_evaluator.type_string() }} ) as meta + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as exposure_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as maturity, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as package_name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as url, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as owner_name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as owner_email, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }} ) as meta from dummy_cte where false \ No newline at end of file diff --git a/models/staging/graph/stg_metrics.sql b/models/staging/graph/stg_metrics.sql index 7a4a5874..d1549831 100644 --- a/models/staging/graph/stg_metrics.sql +++ b/models/staging/graph/stg_metrics.sql @@ -15,23 +15,23 @@ with dummy_cte as ( select - cast(null as {{ dbt_project_evaluator.type_string() }}) as unique_id, - cast(null as {{ dbt_project_evaluator.type_string() }}) as name, - cast(null as {{ dbt_project_evaluator.type_string() }}) as resource_type, - cast(null as {{ dbt_project_evaluator.type_string() }}) as file_path, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as file_path, cast(True as boolean) as is_described, - cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_type, - cast(null as {{ dbt_project_evaluator.type_string() }}) as label, - cast(null as {{ dbt_project_evaluator.type_string() }}) as package_name, - cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_filter, - cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_measure, - cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_measure_alias, - cast(null as {{ dbt_project_evaluator.type_string() }}) as numerator, - cast(null as {{ dbt_project_evaluator.type_string() }}) as denominator, - cast(null as {{ dbt_project_evaluator.type_string() }}) as expr, - cast(null as {{ dbt_project_evaluator.type_string() }}) as metric_window, - cast(null as {{ dbt_project_evaluator.type_string() }}) as grain_to_date, - cast(null as {{ dbt_project_evaluator.type_string() }}) as meta + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as metric_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as label, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as package_name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as metric_filter, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as metric_measure, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as metric_measure_alias, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as numerator, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as denominator, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as expr, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as metric_window, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as grain_to_date, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as meta from dummy_cte where false \ No newline at end of file diff --git a/models/staging/graph/stg_nodes.sql b/models/staging/graph/stg_nodes.sql index 397f551a..c3165a12 100644 --- a/models/staging/graph/stg_nodes.sql +++ b/models/staging/graph/stg_nodes.sql @@ -16,32 +16,32 @@ with dummy_cte as ( select - cast(null as {{ dbt_project_evaluator.type_string() }}) as unique_id, - cast(null as {{ dbt_project_evaluator.type_string() }}) as name, - cast(null as {{ dbt_project_evaluator.type_string() }}) as resource_type, - cast(null as {{ dbt_project_evaluator.type_string() }}) as file_path, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as file_path, cast(True as boolean) as is_enabled, - cast(null as {{ dbt_project_evaluator.type_string() }}) as materialized, - cast(null as {{ dbt_project_evaluator.type_string() }}) as on_schema_change, - cast(null as {{ dbt_project_evaluator.type_string() }}) as model_group, - cast(null as {{ dbt_project_evaluator.type_string() }}) as access, - cast(null as {{ dbt_project_evaluator.type_string() }}) as latest_version, - cast(null as {{ dbt_project_evaluator.type_string() }}) as version, - cast(null as {{ dbt_project_evaluator.type_string() }}) as deprecation_date, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as materialized, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as on_schema_change, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as model_group, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as access, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as latest_version, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as version, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as deprecation_date, cast(True as boolean) as is_contract_enforced, cast(0 as {{ dbt.type_int() }}) as total_defined_columns, cast(0 as {{ dbt.type_int() }}) as total_described_columns, - cast(null as {{ dbt_project_evaluator.type_string() }}) as database, - cast(null as {{ dbt_project_evaluator.type_string() }}) as schema, - cast(null as {{ dbt_project_evaluator.type_string() }}) as package_name, - cast(null as {{ dbt_project_evaluator.type_string() }}) as alias, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as database, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as schema, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as package_name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as alias, cast(True as boolean) as is_described, - cast(null as {{ dbt_project_evaluator.type_string() }}) as column_name, - cast(null as {{ dbt_project_evaluator.type_string() }}) as meta, - cast(null as {{ dbt_project_evaluator.type_string() }}) as hard_coded_references, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as column_name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as meta, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as hard_coded_references, cast(null as {{ dbt.type_int() }}) as number_lines, cast(null as {{ dbt.type_float() }}) as sql_complexity, - cast(null as {{ dbt_project_evaluator.type_string() }}) as macro_dependencies, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as macro_dependencies, cast(True as boolean) as is_generic_test, cast(True as boolean) as is_excluded diff --git a/models/staging/graph/stg_sources.sql b/models/staging/graph/stg_sources.sql index 564beaa9..4c6caf4d 100644 --- a/models/staging/graph/stg_sources.sql +++ b/models/staging/graph/stg_sources.sql @@ -16,22 +16,22 @@ with dummy_cte as ( select - cast(null as {{ dbt_project_evaluator.type_string() }}) as unique_id, - cast(null as {{ dbt_project_evaluator.type_string() }}) as name, - cast(null as {{ dbt_project_evaluator.type_string() }}) as file_path, - cast(null as {{ dbt_project_evaluator.type_string() }}) as alias, - cast(null as {{ dbt_project_evaluator.type_string() }}) as resource_type, - cast(null as {{ dbt_project_evaluator.type_string() }}) as source_name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as unique_id, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as file_path, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as alias, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as resource_type, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as source_name, cast(True as boolean) as is_source_described, cast(True as boolean) as is_described, cast(True as boolean) as is_enabled, - cast(null as {{ dbt_project_evaluator.type_string() }}) as loaded_at_field, - cast(null as {{ dbt_project_evaluator.type_string() }}) as database, - cast(null as {{ dbt_project_evaluator.type_string() }}) as schema, - cast(null as {{ dbt_project_evaluator.type_string() }}) as package_name, - cast(null as {{ dbt_project_evaluator.type_string() }}) as loader, - cast(null as {{ dbt_project_evaluator.type_string() }}) as identifier, - cast(null as {{ dbt_project_evaluator.type_string() }}) as meta, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as loaded_at_field, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as database, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as schema, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as package_name, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as loader, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as identifier, + cast(null as {{ dbt_project_evaluator.type_string_dpe() }}) as meta, cast(True as boolean) as is_excluded from dummy_cte