diff --git a/sbroad-core/src/ir.rs b/sbroad-core/src/ir.rs index 8ee56b3e24783365191a0991c1becc8129fa914b..5aaf383d625509cd2f2ce49c116ddc28def2a7a2 100644 --- a/sbroad-core/src/ir.rs +++ b/sbroad-core/src/ir.rs @@ -7,7 +7,7 @@ use node::block::{Block, MutBlock}; use node::ddl::{Ddl, MutDdl}; use node::expression::{Expression, MutExpression}; use node::relational::{MutRelational, Relational}; -use node::{Invalid, NodeAligned, Parameter}; +use node::{Invalid, NodeAligned}; use serde::{Deserialize, Serialize}; use smol_str::{format_smolstr, SmolStr, ToSmolStr}; use std::cell::{RefCell, RefMut}; @@ -105,6 +105,7 @@ impl Nodes { }), ArenaType::Arena64 => self.arena64.get(id.offset as usize).map(|node| match node { Node64::Case(case) => Node::Expression(Expression::Case(case)), + Node64::Invalid(invalid) => Node::Invalid(invalid), Node64::Constant(constant) => Node::Expression(Expression::Constant(constant)), Node64::CreateRole(create_role) => Node::Acl(Acl::CreateRole(create_role)), Node64::Delete(delete) => Node::Relational(Relational::Delete(delete)), @@ -228,6 +229,7 @@ impl Nodes { .get_mut(id.offset as usize) .map(|node| match node { Node64::Case(case) => MutNode::Expression(MutExpression::Case(case)), + Node64::Invalid(invalid) => MutNode::Invalid(invalid), Node64::Constant(constant) => { MutNode::Expression(MutExpression::Constant(constant)) } @@ -845,7 +847,7 @@ impl Plan { .arena64 .get_mut(usize::try_from(dst_id.offset).unwrap()) .unwrap(); - let stub = Node64::Parameter(Parameter { param_type: None }); + let stub = Node64::Invalid(Invalid {}); let node64 = std::mem::replace(node64, stub); node64.into_owned() } diff --git a/sbroad-core/src/ir/node.rs b/sbroad-core/src/ir/node.rs index c1c77191f31d05bf367c79af30c066cf6ca2a31a..e64b88dfe1923c38ec6f3f7410c05447fd57b90f 100644 --- a/sbroad-core/src/ir/node.rs +++ b/sbroad-core/src/ir/node.rs @@ -1063,6 +1063,7 @@ pub enum Node64 { GroupBy(GroupBy), SetParam(SetParam), SetTransaction(SetTransaction), + Invalid(Invalid), } impl Node64 { @@ -1070,6 +1071,7 @@ impl Node64 { pub fn into_owned(self) -> NodeOwned { match self { Node64::Case(case) => NodeOwned::Expression(ExprOwned::Case(case)), + Node64::Invalid(invalid) => NodeOwned::Invalid(invalid), Node64::Constant(constant) => NodeOwned::Expression(ExprOwned::Constant(constant)), Node64::CreateRole(create_role) => NodeOwned::Acl(AclOwned::CreateRole(create_role)), Node64::Delete(delete) => NodeOwned::Relational(RelOwned::Delete(delete)), @@ -1214,6 +1216,7 @@ impl Node224 { } #[allow(clippy::module_name_repetitions)] +#[derive(Debug)] pub enum NodeAligned { Node32(Node32), Node64(Node64), @@ -1279,7 +1282,7 @@ pub enum MutNode<'nodes> { impl Node<'_> { #[must_use] - pub fn get_common_node(self) -> NodeOwned { + pub fn into_owned(self) -> NodeOwned { match self { Node::Expression(expr) => NodeOwned::Expression(expr.get_expr_owned()), Node::Relational(rel) => NodeOwned::Relational(rel.get_rel_owned()),