diff --git a/dbt-adapters/src/dbt/include/global_project/macros/etc/statement.sql b/dbt-adapters/src/dbt/include/global_project/macros/etc/statement.sql index 8fb98f8c8..e4d993bcd 100644 --- a/dbt-adapters/src/dbt/include/global_project/macros/etc/statement.sql +++ b/dbt-adapters/src/dbt/include/global_project/macros/etc/statement.sql @@ -43,9 +43,22 @@ The macro override naming method (spark__statement) only works for macros which {# a user-friendly interface into statements #} -{% macro run_query(sql) %} +{% macro run_query(sql, bulk=False) %} + {%- if bulk -%} + {%- for query in sql.split(';') -%} + {%- if query | trim | length > 0 -%} + {% do return(exec_statement(query)) %} + {%- endif -%} + {%- endfor -%} + {%- else -%} + {% do return(exec_statement(sql)) %} + {%- endif -%} +{% endmacro %} + + +{% macro exec_statement(sql_statement) %} {% call statement("run_query_statement", fetch_result=true, auto_begin=false) %} - {{ sql }} + {{ sql_statement }} {% endcall %} {% do return(load_result("run_query_statement").table) %}