You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
datavault4dbt.timestamp_default_dtype: {"bigquery":"TIMESTAMP","snowflake":"TIMESTAMP_TZ", "exasol": "TIMESTAMP(3) WITH LOCAL TIME ZONE", "postgres": "TIMESTAMPTZ", "redshift": "TIMESTAMPTZ", "synapse": "datetimeoffset"}
GROUP BY {{ multi_active_config['main_hashkey_column'] }}, {{ ldts_alias }}
380
383
384
+
385
+
{% do processed_hash_columns.update(datavault4dbt.process_hash_column_excludes(tmp_ns.main_hashkey_dict)) -%} {# Add main hashkey to list of processed columns, otherwise ghost records dont get created #}
386
+
387
+
381
388
),
382
389
383
390
hashed_columns AS (
@@ -389,9 +396,11 @@ hashed_columns AS (
389
396
{# Generates only all remaining hashkeys, that are no hashdiffs #}
390
397
391
398
{%- if datavault4dbt.is_something(processed_remaining_hash_columns) %}
392
-
{{-datavault4dbt.hash_columns(columns=processed_remaining_hash_columns) | indent(4) }}, {# All remaining hashed_columns get calculated. #}
{%- do processed_hash_columns.update(datavault4dbt.process_hash_column_excludes(tmp_ns.remaining_hashed_columns)) -%} {# All remaining hashed_columns get calculated. #}
393
401
{% endif -%}
394
402
403
+
395
404
{{ datavault4dbt.print_list(datavault4dbt.escape_column_names(tmp_ns.hashdiff_names)) }}, {# All MA Hashdiffs are selected. #}
396
405
main_hashkey_generation.{{ multi_active_config['main_hashkey_column'] }} {# Main Hashkey selected. #}
GROUP BY local.{{ multi_active_config['main_hashkey_column'] }}, {{ ldts_alias }}
369
+
FROM main_hashkey_generation
370
+
GROUP BY {{ multi_active_config['main_hashkey_column'] }}, {{ ldts_alias }}
371
+
372
+
373
+
{% do processed_hash_columns.update(datavault4dbt.process_hash_column_excludes(tmp_ns.main_hashkey_dict)) -%} {# Add main hashkey to list of processed columns, otherwise ghost records dont get created #}
374
+
356
375
357
376
),
358
377
359
378
hashed_columns AS (
360
379
361
380
SELECT
362
381
363
-
{{ datavault4dbt.alias_all(columns=final_columns_to_select, prefix='main_hashkey_generation') }}, {# Everything from last_cte before hashed_columns. #}
382
+
{{ datavault4dbt.alias_all(columns=final_columns_to_select, prefix='main_hashkey_generation') }}, {# Everything from last_cte before hashed_columns. #}
364
383
{% set processed_remaining_hash_columns =datavault4dbt.process_hash_column_excludes(tmp_ns.remaining_hashed_columns) -%}
365
384
{# Generates only all remaining hashkeys, that are no hashdiffs #}
366
385
367
386
{%- if datavault4dbt.is_something(processed_remaining_hash_columns) %}
368
-
{{-datavault4dbt.hash_columns(columns=processed_remaining_hash_columns) | indent(4) }}, {# All remaining hashed_columns get calculated. #}
{%- do processed_hash_columns.update(datavault4dbt.process_hash_column_excludes(tmp_ns.remaining_hashed_columns)) -%} {# All remaining hashed_columns get calculated. #}
369
389
{% endif -%}
370
390
391
+
371
392
{{ datavault4dbt.print_list(datavault4dbt.escape_column_names(tmp_ns.hashdiff_names)) }}, {# All MA Hashdiffs are selected. #}
372
-
main_hashkey_generation.{{ multi_active_config['main_hashkey_column'] }} {# Main Hashkey selected. #}
393
+
main_hashkey_generation.{{ multi_active_config['main_hashkey_column'] }} {# Main Hashkey selected. #}
373
394
374
395
FROM main_hashkey_generation
375
396
LEFT JOIN ma_hashdiff_prep
@@ -461,7 +482,7 @@ unknown_values AS (
461
482
{%- if datavault4dbt.is_something(processed_hash_columns) -%},
462
483
463
484
{%- for hash_column in processed_hash_columns %}
464
-
CAST({{ datavault4dbt.as_constant(column_str=unknown_key) }} as {{ hash_dtype }}) as"{{ hash_column }}"
485
+
CAST({{ datavault4dbt.as_constant(column_str=unknown_key) }} as {{ hash_dtype }}) as {{ hash_column }}
465
486
{%- if not loop.last %},{% endif %}
466
487
{%- endfor -%}
467
488
@@ -528,7 +549,7 @@ error_values AS (
528
549
{%- if datavault4dbt.is_something(processed_hash_columns) -%},
529
550
530
551
{%- for hash_column in processed_hash_columns %}
531
-
CAST({{ datavault4dbt.as_constant(column_str=error_key) }} as {{ hash_dtype }}) as"{{ hash_column }}"
552
+
CAST({{ datavault4dbt.as_constant(column_str=error_key) }} as {{ hash_dtype }}) as {{ hash_column }}
{%- elif columns[col] is mapping and not columns[col].is_hashdiff -%}
107
+
110
108
{%- if execute -%}
111
109
{%- do exceptions.warn("[" ~ this ~ "] Warning: You provided a list of columns under a 'columns' key, but did not provide the 'is_hashdiff' flag. Use list syntax for PKs.") -%}
0 commit comments