|
25 | 25 | {{ return(get_insert_overwrite_sql(source, target)) }} |
26 | 26 | {% endmacro %} |
27 | 27 |
|
28 | | -{% macro get_common_columns(dest_columns, source_columns) %} |
| 28 | +{% macro get_insert_overwrite_sql(source_relation, target_relation) %} |
| 29 | + {%- set dest_columns = adapter.get_columns_in_relation(target_relation) | map(attribute='quoted') | list -%} |
| 30 | + {%- set source_columns = adapter.get_columns_in_relation(source_relation) | map(attribute='quoted') | list -%} |
29 | 31 | {%- set common_columns = [] -%} |
30 | 32 | {%- for dest_col in dest_columns -%} |
31 | 33 | {%- if dest_col in source_columns -%} |
|
34 | 36 | {%- do common_columns.append('DEFAULT') -%} |
35 | 37 | {%- endif -%} |
36 | 38 | {%- endfor -%} |
37 | | - {{ return(common_columns) }} |
38 | | -{% endmacro %} |
39 | | - |
40 | | -{% macro get_insert_overwrite_sql(source_relation, target_relation) %} |
41 | | - {%- set dest_columns = adapter.get_columns_in_relation(target_relation) | map(attribute='quoted') | list -%} |
42 | | - {%- set source_columns = adapter.get_columns_in_relation(source_relation) | map(attribute='quoted') | list -%} |
43 | | - {%- set common_columns = get_common_columns(dest_columns, source_columns) -%} |
44 | 39 | {%- set dest_cols_csv = dest_columns | join(', ') -%} |
45 | 40 | {%- set source_cols_csv = common_columns | join(', ') -%} |
46 | 41 | insert overwrite table {{ target_relation }} |
@@ -70,11 +65,18 @@ TABLE {{ temp_relation.render() }} |
70 | 65 | {% endmacro %} |
71 | 66 |
|
72 | 67 | {% macro insert_into_sql_impl(target_relation, dest_columns, source_relation, source_columns) %} |
73 | | - {%- set common_columns = get_common_columns(dest_columns, source_columns) -%} |
| 68 | + {%- set common_columns = [] -%} |
| 69 | + {%- for dest_col in dest_columns -%} |
| 70 | + {%- if dest_col in source_columns -%} |
| 71 | + {%- do common_columns.append(dest_col) -%} |
| 72 | + {%- else -%} |
| 73 | + {%- do common_columns.append('DEFAULT') -%} |
| 74 | + {%- endif -%} |
| 75 | + {%- endfor -%} |
74 | 76 | {%- set dest_cols_csv = dest_columns | join(', ') -%} |
75 | 77 | {%- set source_cols_csv = common_columns | join(', ') -%} |
76 | | - insert into table {{ target_relation }} ({{ dest_cols_csv }}) |
77 | | - select {{source_cols_csv}} from {{ source_relation }} |
| 78 | +insert into table {{ target_relation }} ({{ dest_cols_csv }}) |
| 79 | +select {{source_cols_csv}} from {{ source_relation }} |
78 | 80 | {%- endmacro %} |
79 | 81 |
|
80 | 82 | {% macro databricks__get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) %} |
|
0 commit comments