Skip to content

Commit 6c87ce7

Browse files
committed
Merge branch 'master' of github.com:elementary-data/dbt-data-reliability into ele-3925-add-quality-dimensions
2 parents 707cdf8 + d13b0fe commit 6c87ce7

File tree

9 files changed

+34
-22
lines changed

9 files changed

+34
-22
lines changed

.github/workflows/test-warehouse.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
- name: Setup Python
8585
uses: actions/setup-python@v4
8686
with:
87-
python-version: "3.8"
87+
python-version: "3.9"
8888
cache: "pip"
8989

9090
- name: Install Spark requirements

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Available as self-hosted or Cloud service with premium features.
3434
```yml packages.yml
3535
packages:
3636
- package: elementary-data/elementary
37-
version: 0.16.2
37+
version: 0.16.3
3838
## Docs: https://docs.elementary-data.com
3939
```
4040

dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: "elementary"
2-
version: "0.16.2"
2+
version: "0.16.3"
33

44
require-dbt-version: [">=1.0.0", "<2.0.0"]
55

integration_tests/tests/dbt_project.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
_DEFAULT_VARS = {
1919
"disable_dbt_invocation_autoupload": True,
2020
"disable_dbt_artifacts_autoupload": True,
21-
"disable_dbt_columns_autoupload": True,
21+
"columns_upload_strategy": "none",
2222
"disable_run_results": True,
2323
"disable_freshness_results": True,
2424
"debug_logs": True,

integration_tests/tests/test_dbt_artifacts/test_columns.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@
2828
@Parametrization.autodetect_parameters()
2929
@Parametrization.case(
3030
name="default",
31-
only_with_description=None,
31+
columns_upload_strategy=None,
3232
expected_columns=["with_description"],
3333
)
3434
@Parametrization.case(
3535
name="only_with_description",
36-
only_with_description=True,
36+
columns_upload_strategy="enriched_only",
3737
expected_columns=["with_description"],
3838
)
3939
@Parametrization.case(
4040
name="all",
41-
only_with_description=False,
41+
columns_upload_strategy="all",
4242
expected_columns=[
4343
"with_description",
4444
"without_description",
@@ -48,13 +48,11 @@
4848
)
4949
def test_flatten_table_columns(
5050
dbt_project: DbtProject,
51-
only_with_description: Optional[bool],
51+
columns_upload_strategy: Optional[str],
5252
expected_columns: List[str],
5353
) -> None:
54-
if only_with_description is not None:
55-
dbt_project.dbt_runner.vars[
56-
"upload_only_columns_with_descriptions"
57-
] = only_with_description
54+
if columns_upload_strategy is not None:
55+
dbt_project.dbt_runner.vars["columns_upload_strategy"] = columns_upload_strategy
5856
flattened_columns = json.loads(
5957
dbt_project.dbt_runner.run_operation(
6058
"elementary.flatten_table_columns", macro_args={"table_node": TABLE_NODE}

macros/edr/dbt_artifacts/upload_dbt_artifacts.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
}
1212
%}
1313

14-
{% if not elementary.get_config_var('disable_dbt_columns_autoupload') %}
14+
{% if elementary.get_config_var('columns_upload_strategy') != 'none' %}
1515
{% do model_upload_func_map.update({"dbt_columns": elementary.upload_dbt_columns}) %}
1616
{% endif %}
1717

macros/edr/dbt_artifacts/upload_dbt_columns.sql

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,17 @@
3535

3636
{% set flattened_columns = [] %}
3737
{% for column_node in column_nodes.values() %}
38-
{% if not elementary.get_config_var('upload_only_columns_with_descriptions') or column_node.get('description') %}
38+
{% set config_dict = elementary.safe_get_with_default(column_node, 'config', {}) %}
39+
{% set config_meta_dict = elementary.safe_get_with_default(config_dict, 'meta') %}
40+
{% set meta_dict = elementary.safe_get_with_default(column_node, 'meta', {}) %}
41+
{% set has_meta = config_meta_dict or meta_dict | length > 0 %}
42+
43+
{% set config_tags = elementary.safe_get_with_default(config_dict, 'tags') %}
44+
{% set global_tags = elementary.safe_get_with_default(column_node, 'tags') %}
45+
{% set meta_tags = elementary.safe_get_with_default(meta_dict, 'tags') %}
46+
{% set has_tags = config_tags or global_tags or meta_tags %}
47+
48+
{% if elementary.get_config_var('columns_upload_strategy') == 'all' or column_node.get('description') or has_meta or has_tags %}
3949
{% set flat_column = elementary.flatten_column(table_node, column_node) %}
4050
{% do flattened_columns.append(flat_column) %}
4151
{% endif %}

macros/edr/dbt_artifacts/upload_dbt_tests.sql

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,18 @@
5555
{% set default_description = elementary.get_default_description(test_original_name, test_namespace) %}
5656

5757
{% set config_meta_dict = elementary.safe_get_with_default(config_dict, 'meta', {}) %}
58-
{% set meta_dict = {} %}
59-
{% if default_description %}
60-
{% set meta_dict = {'description': default_description} %}
61-
{% endif %}
62-
{% do meta_dict.update(elementary.safe_get_with_default(node_dict, 'meta', {})) %}
58+
{% set meta_dict = elementary.safe_get_with_default(node_dict, 'meta', {}) %}
6359
{% do meta_dict.update(config_meta_dict) %}
6460

61+
{% set description = none %}
62+
{% if dbt_version >= '1.9.0' and node_dict.get('description') %}
63+
{% set description = node_dict.get('description') %}
64+
{% elif meta_dict.get('description') %}
65+
{% set description = meta_dict.pop('description') %}
66+
{% elif default_description %}
67+
{% set description = default_description %}
68+
{% endif %}
69+
6570
{% set config_tags = elementary.safe_get_with_default(config_dict, 'tags', []) %}
6671
{% set global_tags = elementary.safe_get_with_default(node_dict, 'tags', []) %}
6772
{% set meta_tags = elementary.safe_get_with_default(meta_dict, 'tags', []) %}
@@ -160,7 +165,7 @@
160165
'depends_on_macros': elementary.filter_none_and_sort(depends_on_dict.get('macros', [])),
161166
'depends_on_nodes': elementary.filter_none_and_sort(depends_on_dict.get('nodes', [])),
162167
'parent_model_unique_id': primary_test_model_id.data,
163-
'description': meta_dict.get('description'),
168+
'description': description,
164169
'name': node_dict.get('name'),
165170
'package_name': node_dict.get('package_name'),
166171
'type': elementary.get_test_sub_type(original_file_path, test_namespace),

macros/edr/system/system_utils/get_config_var.sql

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
'disable_freshness_results': false,
3333
'disable_tests_results': false,
3434
'disable_dbt_artifacts_autoupload': false,
35-
'disable_dbt_columns_autoupload': false,
36-
'upload_only_columns_with_descriptions': true,
35+
'columns_upload_strategy': 'enriched_only',
3736
'disable_dbt_invocation_autoupload': false,
3837
'disable_skipped_model_alerts': true,
3938
'disable_skipped_test_alerts': true,

0 commit comments

Comments
 (0)