Skip to content

Commit 3507c3a

Browse files
Skip selecting result_rows column when disable_samples=true
Thread disable_samples into current_tests_run_results_query and the clickhouse inline query so the legacy elementary_test_results.result_rows column is replaced with null/empty when samples are disabled. Avoids materializing the column into the temp table and serializing it through agate. Co-Authored-By: mika@elementary-data.com <mika.kerman@gmail.com>
1 parent 0e96bc3 commit 3507c3a

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

elementary/monitor/dbt_project/macros/base_queries/current_tests_run_results_query.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{% macro current_tests_run_results_query(days_back = none, invocation_id = none) %}
1+
{% macro current_tests_run_results_query(days_back = none, invocation_id = none, disable_samples = false) %}
22
with elementary_test_results as (
33
select * from {{ ref('elementary', 'elementary_test_results') }}
44
{% if days_back %}
@@ -79,7 +79,7 @@
7979
dbt_tests.short_name,
8080
elementary_test_results.test_alias,
8181
elementary_test_results.failures,
82-
elementary_test_results.result_rows,
82+
{% if disable_samples %}null{% else %}elementary_test_results.result_rows{% endif %} as result_rows,
8383
dbt_tests.original_path,
8484
dbt_tests.meta,
8585
dbt_tests.description as test_description,

elementary/monitor/dbt_project/macros/get_test_results.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
{% set elementary_tests_allowlist_status = ['fail', 'warn'] if disable_passed_test_metrics else ['fail', 'warn', 'pass'] %}
4545
{% set select_test_results %}
4646
with test_results as (
47-
{{ elementary_cli.current_tests_run_results_query(days_back=days_back) }}
47+
{{ elementary_cli.current_tests_run_results_query(days_back=days_back, disable_samples=disable_samples) }}
4848
),
4949

5050
ordered_test_results as (
@@ -136,7 +136,7 @@
136136

137137
{# Step 1 – materialise the base test-results query into a temp table #}
138138
{% set base_query %}
139-
{{ elementary_cli.current_tests_run_results_query(days_back=days_back) }}
139+
{{ elementary_cli.current_tests_run_results_query(days_back=days_back, disable_samples=disable_samples) }}
140140
{% endset %}
141141

142142
{% set elementary_database, elementary_schema = elementary.get_package_database_and_schema() %}
@@ -270,7 +270,7 @@
270270
{{ elementary.edr_datediff(elementary.edr_cast_as_timestamp('etr.detected_at'), elementary.edr_current_timestamp(), 'day') }} AS days_diff,
271271
ROW_NUMBER() OVER (PARTITION BY elementary_unique_id ORDER BY etr.detected_at DESC) AS invocations_rank_index,
272272
etr.failures,
273-
etr.result_rows
273+
{% if disable_samples %}''{% else %}etr.result_rows{% endif %} AS result_rows
274274
FROM {{ ref('elementary', 'elementary_test_results') }} etr
275275
JOIN {{ ref('elementary', 'dbt_tests') }} dt ON etr.test_unique_id = dt.unique_id
276276
LEFT JOIN (

0 commit comments

Comments
 (0)