macros/unpack/get_source_values.sql (37 lines of code) (raw):

{%- macro get_source_values() -%} {{ return(adapter.dispatch('get_source_values', 'dbt_project_evaluator')()) }} {%- endmacro -%} {%- macro default__get_source_values() -%} {%- if execute -%} {%- set nodes_list = graph.sources.values() -%} {%- set values = [] -%} {%- for node in nodes_list -%} {%- set exclude_source = dbt_project_evaluator.set_is_excluded(node, resource_type="source") -%} {%- set values_line = [ wrap_string_with_quotes(node.unique_id), wrap_string_with_quotes(node.name), wrap_string_with_quotes(node.original_file_path | replace("\\","\\\\")), wrap_string_with_quotes(node.alias), wrap_string_with_quotes(node.resource_type), wrap_string_with_quotes(node.source_name), "cast(" ~ dbt_project_evaluator.is_not_empty_string(node.source_description) | trim ~ " as " ~ dbt.type_boolean() ~ ")", "cast(" ~ dbt_project_evaluator.is_not_empty_string(node.description) | trim ~ " as " ~ dbt.type_boolean() ~ ")", "cast(" ~ node.config.enabled ~ " as " ~ dbt.type_boolean() ~ ")", wrap_string_with_quotes(node.loaded_at_field | replace("'", "_")), "cast(" ~ ((node.freshness != None) and (dbt_project_evaluator.is_not_empty_string(node.freshness.warn_after.count) or dbt_project_evaluator.is_not_empty_string(node.freshness.error_after.count))) | trim ~ " as boolean)", wrap_string_with_quotes(node.database), wrap_string_with_quotes(node.schema), wrap_string_with_quotes(node.package_name), wrap_string_with_quotes(node.loader), wrap_string_with_quotes(node.identifier), wrap_string_with_quotes(node.meta | tojson), "cast(" ~ exclude_source ~ " as " ~ dbt.type_boolean() ~ ")", ] %} {%- do values.append(values_line) -%} {%- endfor -%} {%- endif -%} {{ return(values) }} {%- endmacro -%}