init
This commit is contained in:
14
dbt/macros/dbt_overrides/unique_key_join_on.sql
Normal file
14
dbt/macros/dbt_overrides/unique_key_join_on.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
{% macro unique_key_join_on(unique_key, identifier, from_identifier) %}
|
||||
{% if unique_key | is_list %}
|
||||
{% for key in unique_key %}
|
||||
{% set source_unique_key = (identifier ~ ".dbt_unique_key_" ~ loop.index) | trim %}
|
||||
{% set target_unique_key = (from_identifier ~ ".dbt_unique_key_" ~ loop.index) | trim %}
|
||||
{# Use Oracle-specific NULL-safe equality matching oracle__equals macro #}
|
||||
({{ source_unique_key }} = {{ target_unique_key }} OR ({{ source_unique_key }} IS NULL AND {{ target_unique_key }} IS NULL))
|
||||
{%- if not loop.last %} and {%- endif %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{# Use Oracle-specific NULL-safe equality for single unique_key as well #}
|
||||
({{ identifier }}.dbt_unique_key = {{ from_identifier }}.dbt_unique_key OR ({{ identifier }}.dbt_unique_key IS NULL AND {{ from_identifier }}.dbt_unique_key IS NULL))
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
Reference in New Issue
Block a user