dbt/include/maxcompute/macros/materializations/seeds/seeds.sql (28 lines of code) (raw):
{% macro maxcompute__create_csv_table(model, agate_table) %}
{%- set column_override = model['config'].get('column_types', {}) -%}
{%- set quote_seed_column = model['config'].get('quote_columns', None) -%}
{%- set is_transactional = model['config'].get('transactional', False) -%}
{% set sql %}
create table {{ this.render() }} (
{%- for col_name in agate_table.column_names -%}
{%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}
{%- set type = column_override.get(col_name, inferred_type) -%}
{%- set column_name = (col_name | string) -%}
{{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}
{%- endfor -%}
)
{%- if is_transactional -%}
tblproperties("transactional"="true")
{%- endif -%}
{% endset %}
{% call statement('_') -%}
{{ sql }}
{%- endcall %}
{{ return(sql) }}
{% endmacro %}
{% macro maxcompute__load_csv_rows(model, agate_table) %}
{%- set column_override = model['config'].get('column_types', {}) -%}
{{ adapter.load_dataframe(model['database'], model['schema'], model['alias'],
agate_table, column_override, model['config']['delimiter']) }}
{% do persist_docs(target_relation, model) %}
{% endmacro %}