From fe70b94149e6eca0e1108aa586d1ba0f0bfa2d5f Mon Sep 17 00:00:00 2001 From: rloredo Date: Fri, 3 Jan 2025 13:45:38 +0100 Subject: [PATCH 1/2] remove transaction for bigquery --- .../utils/table_operations/delete_and_insert.sql | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/macros/utils/table_operations/delete_and_insert.sql b/macros/utils/table_operations/delete_and_insert.sql index 4672ef116..315945ba4 100644 --- a/macros/utils/table_operations/delete_and_insert.sql +++ b/macros/utils/table_operations/delete_and_insert.sql @@ -132,3 +132,18 @@ {% do return(queries) %} {% endmacro %} + +{% macro bigquery__get_delete_and_insert_queries(relation, insert_relation, delete_relation, delete_column_key) %} + {% set query %} + {% if delete_relation %} + delete from {{ relation }} + where + {{ delete_column_key }} is null + or {{ delete_column_key }} in (select {{ delete_column_key }} from {{ delete_relation }}); + {% endif %} + {% if insert_relation %} + insert into {{ relation }} select * from {{ insert_relation }}; + {% endif %} + {% endset %} + {% do return([query]) %} +{% endmacro %} From 044d5a8e4cdd06ac11ce4dc021d1e49cfcfdb528 Mon Sep 17 00:00:00 2001 From: rloredo Date: Fri, 3 Jan 2025 13:47:59 +0100 Subject: [PATCH 2/2] do it the same as in trino --- .../table_operations/delete_and_insert.sql | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/macros/utils/table_operations/delete_and_insert.sql b/macros/utils/table_operations/delete_and_insert.sql index 315945ba4..099e20be6 100644 --- a/macros/utils/table_operations/delete_and_insert.sql +++ b/macros/utils/table_operations/delete_and_insert.sql @@ -134,16 +134,24 @@ {% endmacro %} {% macro bigquery__get_delete_and_insert_queries(relation, insert_relation, delete_relation, delete_column_key) %} - {% set query %} - {% if delete_relation %} + {% set queries = [] %} + + {% if delete_relation %} + {% set delete_query %} delete from {{ relation }} where {{ delete_column_key }} is null or {{ delete_column_key }} in (select {{ delete_column_key }} from {{ delete_relation }}); - {% endif %} - {% if insert_relation %} + {% endset %} + {% do queries.append(delete_query) %} + {% endif %} + + {% if insert_relation %} + {% set insert_query %} insert into {{ relation }} select * from {{ insert_relation }}; - {% endif %} - {% endset %} - {% do return([query]) %} + {% endset %} + {% do queries.append(insert_query) %} + {% endif %} + + {% do return(queries) %} {% endmacro %}