Type Alias ExprTreeNode

Source
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>

Source

pub fn new( expr: Arc<dyn PhysicalExpr>, data: T, children: Vec<ExprContext<T>>, ) -> ExprContext<T>

Source

pub fn update_expr_from_children( self, ) -> Result<ExprContext<T>, DataFusionError>

Source§

impl<T> ExprContext<T>
where T: Default,

Trait Implementations

Source§

impl<T> ConcreteTreeNode for ExprContext<T>

Source§

fn children(&self) -> &[ExprContext<T>]

Provides read-only access to child nodes.
Source§

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>

Reattaches updated child nodes to the node, returning the updated node.
Source§

impl<T> Debug for ExprContext<T>
where T: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<T> Display for ExprContext<T>
where T: Display,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more