Skip to content
14 changes: 13 additions & 1 deletion macros/upload_individual_datasets/upload_test_executions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,19 @@
null, {# rows_affected not available in Databricks #}
{{ 'null' if test.failures is none else test.failures }}, {# failures #}
'{{ test.message | replace("\\", "\\\\") | replace("'", "\\'") | replace('"', '\\"') | replace("\n", "\\n") }}', {# message #}
{{ adapter.dispatch('parse_json', 'dbt_artifacts')(tojson(test.adapter_response) | replace("\\", "\\\\") | replace("'", "\\'") | replace('"', '\\"')) }} {# adapter_response #}
{{ adapter.dispatch('parse_json', 'dbt_artifacts')(tojson(test.adapter_response) | replace("\\", "\\\\") | replace("'", "\\'") | replace('"', '\\"')) }}, {# adapter_response #}

{% if test.node.compiled_code %} {# compiled_code #}
'{{ test.node.compiled_code | replace("\\", "\\\\") | replace("'", "\\'") | replace("\n", "\\n") }}'
{% else %}
null
{% endif %}, {# compiled_sql #}

{% if test.node.relation_name %} {# audit_table_name stores failure results #}
'{{ test.node.relation_name | replace("`", "") }}'
{% else %}
null
{% endif %} {# audit_table_name #}
)
{%- if not loop.last %},{%- endif %}

Expand Down
4 changes: 3 additions & 1 deletion macros/upload_results/get_column_name_lists.sql
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,9 @@
rows_affected,
failures,
message,
adapter_response
adapter_response,
compiled_sql,
audit_table_name
)

{% elif dataset == "tests" %}
Expand Down
12 changes: 12 additions & 0 deletions models/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -412,3 +412,15 @@ Response provided by the adapter as JSON.
All results as a JSON blob

{% enddocs %}

{% docs compiled_sql %}

The compiled SQL for the test execution

{% enddocs %}

{% docs audit_table_name %}

The name of the audit table created for failing tests

{% enddocs %}
4 changes: 3 additions & 1 deletion models/fct_dbt__test_executions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ with
total_node_runtime,
rows_affected,
failures,
message
message,
compiled_sql,
audit_table_name
from base

)
Expand Down
4 changes: 4 additions & 0 deletions models/fct_dbt__test_executions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,7 @@ models:
description: '{{ doc("was_full_refresh") }}'
- name: message
description: '{{ doc("message") }}'
- name: compiled_sql
description: '{{ doc("compiled_sql") }}'
- name: audit_table_name
description: '{{ doc("audit_table_name") }}'
2 changes: 2 additions & 0 deletions models/sources/test_executions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,7 @@ select
, cast(null as {{ type_int() }}) as failures
, cast(null as {{ type_string() }}) as message
, cast(null as {{ type_json() }}) as adapter_response
, cast(null as {{type_string() }}) as compiled_sql
, cast(null as {{type_string() }}) as audit_table_name
from dummy_cte
where 1 = 0
4 changes: 4 additions & 0 deletions models/sources/test_executions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,7 @@ models:
description: '{{ doc("message") }}'
- name: adapter_response
description: '{{ doc("adapter_response") }}'
- name: compiled_sql
description: '{{ doc("compiled_sql") }}'
- name: audit_table_name
description: '{{ doc("audit_table_name") }}'
2 changes: 2 additions & 0 deletions models/staging/stg_dbt__test_executions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ with
, rows_affected
, failures
, message
, compiled_sql
, audit_table_name
from base

)
Expand Down
4 changes: 4 additions & 0 deletions models/staging/stg_dbt__test_executions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,7 @@ models:
description: '{{ doc("was_full_refresh") }}'
- name: message
description: '{{ doc("message") }}'
- name: compiled_sql
description: '{{ doc("compiled_sql") }}'
- name: audit_table_name
description: '{{ doc("audit_table_name") }}'
Loading