File tree Expand file tree Collapse file tree
dbt/include/databricks/macros/relations/view
tests/functional/adapter/column_masks Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11{% macro databricks__create_view_as(relation, sql) %}
2+ {# Column masks result in silent failure for views, so throw custom compiler error #}
3+ {% for column_name, column in model .columns .items() %}
4+ {% if column is mapping and column .get (' column_mask' ) %}
5+ {% do exceptions .raise_compiler_error (" Column masks are not supported for views. Column '" ~ column_name ~ " ' has a mask defined." ) %}
6+ {% endif %}
7+ {% endfor %}
28 {{ log(" Creating view " ~ relation) }}
39 create or replace view {{ relation .render () }}
410 {%- if config .persist_column_docs () - %}
Original file line number Diff line number Diff line change @@ -51,3 +51,16 @@ def models(self):
5151 "base_model.sql" : base_model_sql .replace ("table" , "incremental" ),
5252 "schema.yml" : model ,
5353 }
54+
55+
56+ class TestViewColumnMaskFailure (MaterializationV2Mixin ):
57+ @pytest .fixture (scope = "class" )
58+ def models (self ):
59+ return {
60+ "base_model.sql" : base_model_sql .replace ("table" , "view" ),
61+ "schema.yml" : model ,
62+ }
63+
64+ def test_view_column_mask_failure (self , project ):
65+ result = run_dbt (["run" ], expect_pass = False )
66+ assert "Column masks are not supported for views" in result .results [0 ].message
You can’t perform that action at this time.
0 commit comments