File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44 ) %}
55 {% set source_freshness_results_dicts = [] %}
66 {% for result in results %}
7- {% do source_freshness_results_dicts .append (
8- elementary .process_freshness_result (result)
9- ) %}
7+ {% set processed_result = elementary .process_freshness_result (result) %}
8+ {% if processed_result is not none %}
9+ {% do source_freshness_results_dicts .append (processed_result) %}
10+ {% endif %}
1011 {% endfor %}
1112 {% do elementary .upload_artifacts_to_table (
1213 source_freshness_results_relation,
1920
2021{% macro process_freshness_result(result) %}
2122 {% set result_dict = result .to_dict () %}
23+ {#
24+ dbt- fusion returns a none ` node` for some freshness results (e .g . errored
25+ sources), unlike dbt- core. Skip them so the on_run_end hook does not crash
26+ on ` result_dict.node.unique_id` .
27+ # }
28+ {% if result_dict .get (" node" ) is none %} {% do return(none) %} {% endif %}
2229 {% if result_dict .status == " runtime error" %}
2330 {% do return(
2431 {
4754{% macro flatten_source_freshness(node_dict) %}
4855 {% set compile_timing = {} %}
4956 {% set execute_timing = {} %}
50- {% for timing in node_dict[ " timing" ] %}
57+ {% for timing in node_dict . get ( " timing" ) or [ ] %}
5158 {% if timing[" name" ] == " compile" %} {% do compile_timing .update (timing) %}
5259 {% elif timing[" name" ] == " execute" %} {% do execute_timing .update (timing) %}
5360 {% endif %}
You can’t perform that action at this time.
0 commit comments