From e8320c2831ff20345008e444381a554966eb120a Mon Sep 17 00:00:00 2001 From: GuyEshdat Date: Thu, 4 Jun 2026 15:44:26 +0300 Subject: [PATCH 1/2] use EXECUTE IMMEDIATE in snowflake clean test tables macro to avoid dbt-snowflake splitting the multi-statement query into individual round-trips, which significantly increases on-run-end duration --- .../test_utils/clean_elementary_test_tables.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/macros/edr/tests/test_utils/clean_elementary_test_tables.sql b/macros/edr/tests/test_utils/clean_elementary_test_tables.sql index a1c8b1fd8..e1e083a73 100644 --- a/macros/edr/tests/test_utils/clean_elementary_test_tables.sql +++ b/macros/edr/tests/test_utils/clean_elementary_test_tables.sql @@ -41,6 +41,23 @@ ) %} {% endmacro %} +{% macro snowflake__get_clean_elementary_test_tables_queries(test_table_relations) %} + {% set drop_queries = elementary.get_transactionless_clean_elementary_test_tables_queries(test_table_relations) %} + {% if not drop_queries %} + {% do return([]) %} + {% endif %} + {% set query %} + EXECUTE IMMEDIATE $$ + BEGIN + {% for drop in drop_queries %} + {{ drop }}; + {% endfor %} + END; + $$ + {% endset %} + {% do return([query]) %} +{% endmacro %} + {% macro bigquery__get_clean_elementary_test_tables_queries(test_table_relations) %} {% do return( elementary.get_transactionless_clean_elementary_test_tables_queries( From e86ce4750362d17fb458235a85022a49012a06b9 Mon Sep 17 00:00:00 2001 From: GuyEshdat Date: Thu, 4 Jun 2026 16:10:20 +0300 Subject: [PATCH 2/2] formatting --- .../tests/test_utils/clean_elementary_test_tables.sql | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/macros/edr/tests/test_utils/clean_elementary_test_tables.sql b/macros/edr/tests/test_utils/clean_elementary_test_tables.sql index e1e083a73..937cad580 100644 --- a/macros/edr/tests/test_utils/clean_elementary_test_tables.sql +++ b/macros/edr/tests/test_utils/clean_elementary_test_tables.sql @@ -42,10 +42,12 @@ {% endmacro %} {% macro snowflake__get_clean_elementary_test_tables_queries(test_table_relations) %} - {% set drop_queries = elementary.get_transactionless_clean_elementary_test_tables_queries(test_table_relations) %} - {% if not drop_queries %} - {% do return([]) %} - {% endif %} + {% set drop_queries = ( + elementary.get_transactionless_clean_elementary_test_tables_queries( + test_table_relations + ) + ) %} + {% if not drop_queries %} {% do return([]) %} {% endif %} {% set query %} EXECUTE IMMEDIATE $$ BEGIN