File tree Expand file tree Collapse file tree
dbt/include/databricks/macros/relations/materialized_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__get_create_materialized_view_as_sql(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 materialized views. Column '" ~ column_name ~ " ' has a mask defined." ) %}
6+ {% endif %}
7+ {% endfor %}
28 {%- set materialized_view = adapter .get_config_from_model (config .model ) - %}
39 {%- set partition_by = materialized_view .config [" partition_by" ].partition_by - %}
410 {%- set tblproperties = materialized_view .config [" tblproperties" ].tblproperties - %}
Original file line number Diff line number Diff line change @@ -66,4 +66,14 @@ def models(self):
6666
6767 def test_view_column_mask_failure (self , project ):
6868 result = run_dbt (["run" ], expect_pass = False )
69- assert "Column masks are not supported for views" in result .results [0 ].message
69+ assert "Column masks are not supported" in result .results [0 ].message
70+
71+
72+ @pytest .mark .skip_profile ("databricks_cluster" )
73+ class TestMaterializedViewColumnMaskFailure (TestViewColumnMaskFailure ):
74+ @pytest .fixture (scope = "class" )
75+ def models (self ):
76+ return {
77+ "base_model.sql" : base_model_sql .replace ("table" , "materialized_view" ),
78+ "schema.yml" : model ,
79+ }
You can’t perform that action at this time.
0 commit comments