From 265983cc88e2802eb88d8a88d7c2019c03e9dce9 Mon Sep 17 00:00:00 2001 From: Denis Smirnov <sd@picodata.io> Date: Tue, 1 Feb 2022 15:30:53 +0700 Subject: [PATCH] refactoring: use get_relation_node() to reduce nested checks --- src/ir/expression.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/ir/expression.rs b/src/ir/expression.rs index 13a1a3fbc1..1d2bd6563b 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) } -- GitLab