diff --git a/src/ir/expression.rs b/src/ir/expression.rs index 13a1a3fbc19222f0e2714c92dd79b32f7229bf2b..1d2bd6563bb41802414c2c14db8c0b64bbfac069 100644 --- a/src/ir/expression.rs +++ b/src/ir/expression.rs @@ -512,18 +512,17 @@ impl Plan { }) = self.get_node(ref_id)? { let referred_rel_id = self.get_map_relational_value(*parent)?; - if let Node::Relational(rel) = self.get_node(referred_rel_id)? { - if let Some(children) = rel.children() { - if let Some(positions) = targets { - for pos in positions { - if let Some(child) = children.get(*pos) { - rel_nodes.insert(*child); - } + let rel = self.get_relation_node(referred_rel_id)?; + if let Some(children) = rel.children() { + if let Some(positions) = targets { + for pos in positions { + if let Some(child) = children.get(*pos) { + rel_nodes.insert(*child); } } } - return Ok(rel_nodes); } + return Ok(rel_nodes); } Err(QueryPlannerError::InvalidReference) }