pub type ExprTreeNode<T> = ExprContext<Option<T>>;
Aliased Type§
struct ExprTreeNode<T> {
pub expr: Arc<dyn PhysicalExpr>,
pub data: Option<T>,
pub children: Vec<ExprContext<Option<T>>>,
}
Fields§
§expr: Arc<dyn PhysicalExpr>
The physical expression associated with this context.
data: Option<T>
Custom data payload of the node.
children: Vec<ExprContext<Option<T>>>
Child contexts of this node.
Implementations
Source§impl<T> ExprContext<T>
impl<T> ExprContext<T>
pub fn new( expr: Arc<dyn PhysicalExpr>, data: T, children: Vec<ExprContext<T>>, ) -> ExprContext<T>
pub fn update_expr_from_children( self, ) -> Result<ExprContext<T>, DataFusionError>
Source§impl<T> ExprContext<T>where
T: Default,
impl<T> ExprContext<T>where
T: Default,
pub fn new_default(plan: Arc<dyn PhysicalExpr>) -> ExprContext<T>
Trait Implementations
Source§impl<T> ConcreteTreeNode for ExprContext<T>
impl<T> ConcreteTreeNode for ExprContext<T>
Source§fn children(&self) -> &[ExprContext<T>]
fn children(&self) -> &[ExprContext<T>]
Provides read-only access to child nodes.
Source§fn take_children(self) -> (ExprContext<T>, Vec<ExprContext<T>>)
fn take_children(self) -> (ExprContext<T>, Vec<ExprContext<T>>)
Detaches the node from its children, returning the node itself and its detached children.
Source§fn with_new_children(
self,
children: Vec<ExprContext<T>>,
) -> Result<ExprContext<T>, DataFusionError>
fn with_new_children( self, children: Vec<ExprContext<T>>, ) -> Result<ExprContext<T>, DataFusionError>
Reattaches updated child nodes to the node, returning the updated node.