@@ -992,20 +992,25 @@ def get_workunits_internal(self) -> Iterable[MetadataWorkUnit]:
992
992
all_nodes_map ,
993
993
)
994
994
995
- def _is_allowed_node (self , key : str ) -> bool :
996
- return self .config .node_name_pattern .allowed (key )
995
+ def _is_allowed_node (self , dbt_name : str ) -> bool :
996
+ return self .config .node_name_pattern .allowed (dbt_name )
997
+
998
+ def _is_allowed_database (self , database : Optional [str ]) -> bool :
999
+ return self .config .database_name_pattern .allowed (database or "" )
1000
+
1001
+ def _is_allowed_schema (self , schema : Optional [str ]) -> bool :
1002
+ return self .config .schema_name_pattern .allowed (schema or "" )
1003
+
1004
+ def _is_allowed (self , node : DBTNode ) -> bool :
1005
+ return self ._is_allowed_node (node .dbt_name ) and self ._is_allowed_database (node .database ) and self ._is_allowed_schema (node .schema )
997
1006
998
1007
def _filter_nodes (self , all_nodes : List [DBTNode ]) -> List [DBTNode ]:
999
1008
nodes = []
1000
1009
for node in all_nodes :
1001
- key = node .dbt_name
1002
-
1003
- if not self ._is_allowed_node (key ):
1004
- self .report .nodes_filtered .append (key )
1010
+ if not self ._is_allowed (node ):
1011
+ self .report .nodes_filtered .append (node .dbt_name )
1005
1012
continue
1006
-
1007
1013
nodes .append (node )
1008
-
1009
1014
return nodes
1010
1015
1011
1016
@staticmethod
@@ -1036,8 +1041,8 @@ def add_node_to_cll_list(dbt_name: str) -> None:
1036
1041
cll_nodes .add (dbt_name )
1037
1042
schema_nodes .add (dbt_name )
1038
1043
1039
- for dbt_name in all_nodes_map .keys ():
1040
- if self ._is_allowed_node ( dbt_name ):
1044
+ for dbt_name , node in all_nodes_map .items ():
1045
+ if self ._is_allowed ( node ):
1041
1046
add_node_to_cll_list (dbt_name )
1042
1047
1043
1048
return schema_nodes , cll_nodes
0 commit comments