From 8db4bcf05ea248bf9810e094b969f4483f1f241c Mon Sep 17 00:00:00 2001 From: Steven Reitsma <4895139+StevenReitsma@users.noreply.github.com> Date: Thu, 23 Oct 2025 15:06:41 +0200 Subject: [PATCH 1/4] Add cluster and exchange capabilities to temp relation creation --- macros/utils/table_operations/make_temp_relation.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/macros/utils/table_operations/make_temp_relation.sql b/macros/utils/table_operations/make_temp_relation.sql index c7a60f826..4f2173e8c 100644 --- a/macros/utils/table_operations/make_temp_relation.sql +++ b/macros/utils/table_operations/make_temp_relation.sql @@ -62,6 +62,8 @@ identifier=tmp_identifier, schema=base_relation.schema, database=base_relation.database, - type='table') %} + type='table', + can_on_cluster=base_relation.can_on_cluster, + can_exchange=base_relation.can_exchange) %} {% do return(tmp_relation) %} {% endmacro %} From 95195743b16f4ff4fdb0f65e9d07fee2c63a6a90 Mon Sep 17 00:00:00 2001 From: Steven Reitsma <4895139+StevenReitsma@users.noreply.github.com> Date: Thu, 23 Oct 2025 16:11:12 +0200 Subject: [PATCH 2/4] Use ClickHouse query settings in delete_and_insert --- macros/utils/table_operations/delete_and_insert.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/macros/utils/table_operations/delete_and_insert.sql b/macros/utils/table_operations/delete_and_insert.sql index 996efbf28..50155bfe1 100644 --- a/macros/utils/table_operations/delete_and_insert.sql +++ b/macros/utils/table_operations/delete_and_insert.sql @@ -61,14 +61,15 @@ {% set delete_query %} alter table {{ relation }} delete where {{ delete_column_key }} is null - or {{ delete_column_key }} in (select {{ delete_column_key }} from {{ delete_relation }}); + or {{ delete_column_key }} in (select {{ delete_column_key }} from {{ delete_relation }}) + {{ adapter.get_model_query_settings(model) }}; {% endset %} {% do queries.append(delete_query) %} {% endif %} {% if insert_relation %} {% set insert_query %} - insert into {{ relation }} select * from {{ insert_relation }}; + insert into {{ relation }} {{ adapter.get_model_query_settings(model) }} select * from {{ insert_relation }}; {% endset %} {% do queries.append(insert_query) %} {% endif %} From f43acefe171d7f75f4565222d027b2032822794e Mon Sep 17 00:00:00 2001 From: Steven Reitsma <4895139+StevenReitsma@users.noreply.github.com> Date: Thu, 23 Oct 2025 15:23:07 +0100 Subject: [PATCH 3/4] Use ClickHouse query settings in insert_rows --- macros/utils/cross_db_utils/get_query_settings.sql | 11 +++++++++++ macros/utils/table_operations/insert_rows.sql | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 macros/utils/cross_db_utils/get_query_settings.sql diff --git a/macros/utils/cross_db_utils/get_query_settings.sql b/macros/utils/cross_db_utils/get_query_settings.sql new file mode 100644 index 000000000..f842d18ba --- /dev/null +++ b/macros/utils/cross_db_utils/get_query_settings.sql @@ -0,0 +1,11 @@ +{% macro get_query_settings() %} + {{ do return(adapter.dispatch("get_query_settings", "elementary")()) }} +{% endmacro %} + +{% macro default__get_query_settings() %} + {{ do return("") }} +{% endmacro %} + +{% macro clickhouse__get_query_settings() %} + {{ do return(adapter.get_model_query_settings(model)) }} +{% endmacro %} diff --git a/macros/utils/table_operations/insert_rows.sql b/macros/utils/table_operations/insert_rows.sql index aa278027a..87aebbe8a 100644 --- a/macros/utils/table_operations/insert_rows.sql +++ b/macros/utils/table_operations/insert_rows.sql @@ -63,7 +63,9 @@ insert into {{ table_relation }} ({%- for column in columns -%} {{- elementary.escape_reserved_keywords(column.name) -}} {{- "," if not loop.last else "" -}} - {%- endfor -%}) values + {%- endfor -%}) + {{ elementary.get_query_settings() }} + values {% endset %} {% do elementary.end_duration_measure_context('base_query_calc') %} From 0abcdc46e31ed7032595e0f2c971a36f2bea3b6f Mon Sep 17 00:00:00 2001 From: Steven Reitsma <4895139+StevenReitsma@users.noreply.github.com> Date: Wed, 12 Nov 2025 09:59:32 +0100 Subject: [PATCH 4/4] Fix get_query_settings SQL macro syntax --- macros/utils/cross_db_utils/get_query_settings.sql | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/macros/utils/cross_db_utils/get_query_settings.sql b/macros/utils/cross_db_utils/get_query_settings.sql index f842d18ba..b19c1fa0b 100644 --- a/macros/utils/cross_db_utils/get_query_settings.sql +++ b/macros/utils/cross_db_utils/get_query_settings.sql @@ -1,11 +1,12 @@ {% macro get_query_settings() %} - {{ do return(adapter.dispatch("get_query_settings", "elementary")()) }} + {% do return(adapter.dispatch("get_query_settings", "elementary")()) %} {% endmacro %} {% macro default__get_query_settings() %} - {{ do return("") }} + {% do return("") %} {% endmacro %} {% macro clickhouse__get_query_settings() %} - {{ do return(adapter.get_model_query_settings(model)) }} + {% do return(adapter.get_model_query_settings(model)) %} {% endmacro %} +