Skip to content

Commit d38c883

Browse files
authored
delete and insert in redshift will now be executed as different commands because redshift started to throw errors when executing it as one command
1 parent 6551383 commit d38c883

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

macros/utils/table_operations/delete_and_insert.sql

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,29 @@
110110
{% do return(queries) %}
111111
{% endmacro %}
112112

113+
{% macro redshift__get_delete_and_insert_queries(relation, insert_relation, delete_relation, delete_column_key) %}
114+
{% set queries = [] %}
115+
116+
{% if delete_relation %}
117+
{% set delete_query %}
118+
delete from {{ relation }}
119+
where
120+
{{ delete_column_key }} is null
121+
or {{ delete_column_key }} in (select {{ delete_column_key }} from {{ delete_relation }});
122+
{% endset %}
123+
{% do queries.append(delete_query) %}
124+
{% endif %}
125+
126+
{% if insert_relation %}
127+
{% set insert_query %}
128+
insert into {{ relation }} select * from {{ insert_relation }};
129+
{% endset %}
130+
{% do queries.append(insert_query) %}
131+
{% endif %}
132+
133+
{% do return(queries) %}
134+
{% endmacro %}
135+
113136
{% macro athena__get_delete_and_insert_queries(relation, insert_relation, delete_relation, delete_column_key) %}
114137
{% set queries = [] %}
115138

0 commit comments

Comments
 (0)