Skip to content

Commit fc97b29

Browse files
Add ClickHouse cluster support, part 2 (#904)
1 parent 9f64cbc commit fc97b29

5 files changed

Lines changed: 15 additions & 2 deletions

File tree

macros/edr/tests/on_run_end/handle_tests_results.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
metric_properties,
136136
{{ elementary.edr_current_timestamp() }} as created_at
137137
FROM {{ temp_relation }}
138+
{{ elementary.get_query_settings() }}
138139
{% endset %}
139140

140141
{{ elementary.file_log("Inserting metrics into {}.".format(target_relation)) }}
@@ -183,6 +184,7 @@
183184
detected_at,
184185
{{ elementary.edr_current_timestamp() }} as created_at
185186
FROM {{ temp_relation }}
187+
{{ elementary.get_query_settings() }}
186188
{% endset %}
187189

188190
{{ elementary.file_log("Inserting schema columns snapshot into {}.".format(target_relation)) }}

macros/edr/tests/test_utils/clean_elementary_test_tables.sql

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@
4040
{% endmacro %}
4141

4242
{% macro clickhouse__get_clean_elementary_test_tables_queries(test_table_relations) %}
43-
{% do return(elementary.get_transactionless_clean_elementary_test_tables_queries(test_table_relations)) %}
43+
{# Self-hosted clustered ClickHouse installations require tables to be dropped on all cluster nodes explicitly #}
44+
{% set queries = [] %}
45+
{% for test_relation in test_table_relations %}
46+
{% do queries.append("DROP TABLE IF EXISTS {} {} SYNC".format(test_relation, on_cluster_clause(test_relation))) %}
47+
{% endfor %}
48+
{% do return(queries) %}
4449
{% endmacro %}
4550

4651
{% macro athena__get_clean_elementary_test_tables_queries(test_table_relations) %}

macros/utils/table_operations/create_table_as.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,8 @@
6767
create or replace {{ relation_type }} {{ relation }}
6868
as {{ sql_query }}
6969
{% endmacro %}
70+
71+
{% macro clickhouse__edr_get_create_table_as_sql(temporary, relation, sql_query) %}
72+
{# ClickHouse does not support database-scoped temporary tables, so we force temporary to be false. #}
73+
{{ dbt.get_create_table_as_sql(false, relation, sql_query) }}
74+
{% endmacro %}

macros/utils/table_operations/delete_and_insert.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
{% if delete_relation %}
6161
{% set delete_query %}
62-
alter table {{ relation }} delete where
62+
alter table {{ relation }} {{ on_cluster_clause(relation) }} delete where
6363
{{ delete_column_key }} is null
6464
or {{ delete_column_key }} in (select {{ delete_column_key }} from {{ delete_relation }})
6565
{{ adapter.get_model_query_settings(model) }};

macros/utils/table_operations/insert_as_select.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
{{ select_query }}
99
)
1010
select * from tmp_table
11+
{{ elementary.get_query_settings() }}
1112
{%- endset %}
1213

1314
{{ return(insert_query) }}

0 commit comments

Comments
 (0)