66 lines
3.4 KiB
SQL
66 lines
3.4 KiB
SQL
{% macro control_model_end(model_type) %}
|
|
{% set model_name = model.name %}
|
|
{{ elog("START macro -> control_model_end, model " ~ model_name, "INFO", 0)}}
|
|
|
|
{{ elog("Get subprocess_key for model " ~ model_name, "INFO", 1)}}
|
|
{% set a_task_history_key = get_task_history_key(model_name) %}
|
|
{{ check_null("a_task_history_key", a_task_history_key) }}
|
|
|
|
{% if model_type == 'SQ' %}
|
|
{% set table_name = this.schema ~ '.' ~ this.name %}
|
|
{{ elog("Check if data exists in SQ, model " ~ model_name, "INFO", 1)}}
|
|
{% set sq_data_exists = check_data_exists(table_name) %}
|
|
{% if 'm_DWH' in model_name and 'm_DWH_PRELOAD' not in model_name %}
|
|
{% set model_sources =get_parent_models(model_name) %}
|
|
{% if model_sources | length > 0 %}
|
|
{% for model_source in model_sources %}
|
|
{% set source_name = get_table_qualified_name(model_source) %}
|
|
{{ elog("Run control_source_count for source " ~ source_name ~ ", model " ~ model_name, "INFO", 1)}}
|
|
{{ control_source_count(a_task_history_key, source_name,'', '') }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% set model_sources =model.sources %}
|
|
{% for model_source in model_sources %}
|
|
{% if model_source[0] != 'control_tables' %}
|
|
{% set source_name = source(model_source[0], model_source[1]) %}
|
|
{{ elog("Run control_source_count for source " ~ source_name ~ ", model " ~ model_name, "INFO", 1)}}
|
|
{{ control_source_count(a_task_history_key, source_name,'', '') }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% elif model_type == 'TRG' %}
|
|
{# {{ elog('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', "INFO", 1) }} #}
|
|
{% set parent_models = get_parent_models(model_name) %}
|
|
{% if parent_models | length > 0 %}
|
|
{% for model in parent_models %}
|
|
{% if 'm_DWH' in model or 'm_MOPDB' in model %}
|
|
{% set table_name = get_table_qualified_name(model) %}
|
|
{# {{ elog('--------------->> Table: ', "INFO", 1) }} #}
|
|
{# {{ elog(table_name, "INFO", 1) }} #}
|
|
{{ elog("Check if data exists in SQ table: " ~ table_name ~ " for model: " ~ model_name, "INFO", 1)}}
|
|
{% set trg_data_exists = check_data_exists(table_name) %}
|
|
{{ elog("Run control_source_count for source " ~ table_name ~ ", model " ~ model_name, "INFO", 1)}}
|
|
{{ control_source_count(a_task_history_key, table_name,'A_WORKFLOW_HISTORY_KEY', trg_data_exists) }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% else %}
|
|
{{ elog("There are no parent SQ for model: " ~ model_name, "INFO", 1)}}
|
|
{% endif %}
|
|
{# {{ log(parent_models, info=True) }} #}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{{ elog("Run macro update_A_TASK_HISTORY for model " ~ model_name, "INFO", 1)}}
|
|
{{ update_A_TASK_HISTORY(a_task_history_key, convert_timezone(m_current_timestamp('dbt'),'YYYY-MM-DD HH24:MI:SS',''), 'Y') }}
|
|
|
|
{% if sq_data_exists == 0 %}
|
|
{{ exceptions.warn("Model " ~ model_name ~ " has no rows.") }}
|
|
{% endif %}
|
|
|
|
{% do run_query('COMMIT') %}
|
|
{{ elog("END macro -> control_model_end, model " ~ model_name, "INFO", 0)}}
|
|
{% endmacro %} |