|
1 | 1 | {% macro run_query(query, lowercase_column_names=True) %} |
2 | | - {% set query_result = dbt.run_query(query) %} |
| 2 | + {% set query_result = dbt.run_query(elementary.format_query_with_metadata(query)) %} |
3 | 3 | {% if lowercase_column_names %} |
4 | 4 | {% set lowercased_column_names = {} %} |
5 | 5 | {% for column_name in query_result.column_names %} |
|
10 | 10 |
|
11 | 11 | {% do return(query_result) %} |
12 | 12 | {% endmacro %} |
| 13 | + |
| 14 | +{% macro format_query_with_metadata(query) %} |
| 15 | + {% do return(adapter.dispatch('format_query_with_metadata', 'elementary')(query)) %} |
| 16 | +{% endmacro %} |
| 17 | + |
| 18 | +{% macro default__format_query_with_metadata(query) %} |
| 19 | + /* --ELEMENTARY-METADATA-- {{ elementary.get_elementary_query_metadata() | tojson }} --END-ELEMENTARY-METADATA-- */ |
| 20 | + {{ query }} |
| 21 | +{% endmacro %} |
| 22 | + |
| 23 | +{% macro snowflake__format_query_with_metadata(query) %} |
| 24 | + {# Snowflake removes leading comments #} |
| 25 | + {{ query }} |
| 26 | + /* --ELEMENTARY-METADATA-- {{ elementary.get_elementary_query_metadata() | tojson }} --END-ELEMENTARY-METADATA-- */ |
| 27 | +{% endmacro %} |
| 28 | + |
| 29 | +{% macro get_elementary_query_metadata() %} |
| 30 | + {% set metadata = { |
| 31 | + "invocation_id": invocation_id, |
| 32 | + "command": flags.WHICH |
| 33 | + } %} |
| 34 | + |
| 35 | + {% if model %} |
| 36 | + {% do metadata.update({ |
| 37 | + 'package_name': model['package_name'], |
| 38 | + 'resource_name': model['name'], |
| 39 | + 'resource_type': model['resource_type'] |
| 40 | + }) %} |
| 41 | + {% if model.resource_type == 'test' %} |
| 42 | + {% set test_metadata = model.get('test_metadata', {}) %} |
| 43 | + {% do metadata.update({ |
| 44 | + 'test_short_name': test_metadata.get("name"), |
| 45 | + 'test_namespace': test_metadata.get("namespace") |
| 46 | + }) %} |
| 47 | + {% endif %} |
| 48 | + {% endif %} |
| 49 | + |
| 50 | + {% do return(metadata) %} |
| 51 | +{% endmacro %} |
0 commit comments