diff --git a/optd-persistent/src/memo/interface.rs b/optd-persistent/src/memo/interface.rs index b9451f9..2d2240e 100644 --- a/optd-persistent/src/memo/interface.rs +++ b/optd-persistent/src/memo/interface.rs @@ -108,6 +108,7 @@ pub trait Memo { &self, group_id: Self::GroupId, logical_expression: Self::LogicalExpression, + children: Vec, ) -> StorageResult<()>; /// Adds a physical expression to an existing group via its [`Self::GroupId`]. @@ -117,6 +118,7 @@ pub trait Memo { &self, group_id: Self::GroupId, physical_expression: Self::PhysicalExpression, + children: Vec, ) -> StorageResult<()>; /// Adds a new logical expression into the memo table, creating a new group if the expression @@ -134,5 +136,6 @@ pub trait Memo { async fn add_logical_expression( &self, expression: Self::LogicalExpression, + children: Vec, ) -> StorageResult<(Self::GroupId, Self::LogicalExpressionId)>; } diff --git a/optd-persistent/src/memo/orm.rs b/optd-persistent/src/memo/orm.rs index e7cc78b..42b3205 100644 --- a/optd-persistent/src/memo/orm.rs +++ b/optd-persistent/src/memo/orm.rs @@ -118,6 +118,7 @@ impl Memo for BackendManager { &self, group_id: Self::GroupId, logical_expression: Self::LogicalExpression, + children: Vec, ) -> StorageResult<()> { if logical_expression.group_id != group_id { Err(MemoError::InvalidExpression)? @@ -139,6 +140,7 @@ impl Memo for BackendManager { &self, group_id: Self::GroupId, physical_expression: Self::PhysicalExpression, + children: Vec, ) -> StorageResult<()> { if physical_expression.group_id != group_id { Err(MemoError::InvalidExpression)? @@ -160,6 +162,7 @@ impl Memo for BackendManager { async fn add_logical_expression( &self, expression: Self::LogicalExpression, + children: Vec, ) -> StorageResult<(Self::GroupId, Self::LogicalExpressionId)> { // Lookup all expressions that have the same fingerprint. There may be false positives, but // we will check for those later.