@@ -166,7 +166,6 @@ def filter_nodes(self, nodes: dict[str, DbtNode]) -> set[str]:
166
166
"""
167
167
selected_nodes : set [str ] = set ()
168
168
root_nodes : set [str ] = set ()
169
-
170
169
# Index nodes by name, we can improve performance by doing this once
171
170
# for multiple GraphSelectors
172
171
if PATH_SELECTOR in self .node_name :
@@ -367,13 +366,16 @@ def select_nodes_ids_by_intersection(self) -> set[str]:
367
366
selected_nodes : set [str ] = set ()
368
367
self .visited_nodes : set [str ] = set ()
369
368
370
- for node_id , node in self .nodes .items ():
371
- if self ._should_include_node (node_id , node ):
372
- selected_nodes .add (node_id )
373
-
374
369
if self .config .graph_selectors :
375
- nodes_by_graph_selector = self .select_by_graph_operator ()
376
- selected_nodes = selected_nodes .intersection (nodes_by_graph_selector )
370
+ graph_selected_nodes = self .select_by_graph_operator ()
371
+ for node_id in graph_selected_nodes :
372
+ node = self .nodes [node_id ]
373
+ if self ._should_include_node (node_id , node ):
374
+ selected_nodes .add (node_id )
375
+ else :
376
+ for node_id , node in self .nodes .items ():
377
+ if self ._should_include_node (node_id , node ):
378
+ selected_nodes .add (node_id )
377
379
378
380
self .selected_nodes = selected_nodes
379
381
return selected_nodes
0 commit comments