Type Alias ExprRef

Source
pub type ExprRef = Arc<dyn VortexExpr>;

Aliased Type§

pub struct ExprRef { /* private fields */ }

Trait Implementations§

Source§

impl From<BetweenExpr> for ExprRef

Source§

fn from(value: BetweenExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<BinaryExpr> for ExprRef

Source§

fn from(value: BinaryExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<CastExpr> for ExprRef

Source§

fn from(value: CastExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<DynamicComparisonExpr> for ExprRef

Source§

fn from(value: DynamicComparisonExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<GetItemExpr> for ExprRef

Source§

fn from(value: GetItemExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<IsNullExpr> for ExprRef

Source§

fn from(value: IsNullExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<LikeExpr> for ExprRef

Source§

fn from(value: LikeExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<ListContainsExpr> for ExprRef

Source§

fn from(value: ListContainsExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<LiteralExpr> for ExprRef

Source§

fn from(value: LiteralExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<MergeExpr> for ExprRef

Source§

fn from(value: MergeExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<NotExpr> for ExprRef

Source§

fn from(value: NotExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<PackExpr> for ExprRef

Source§

fn from(value: PackExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<RootExpr> for ExprRef

Source§

fn from(value: RootExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl From<SelectExpr> for ExprRef

Source§

fn from(value: SelectExpr) -> ExprRef

Converts to this type from the input type.
Source§

impl Node for ExprRef

Source§

fn apply_children<'a, F: FnMut(&'a Self) -> VortexResult<TraversalOrder>>( &'a self, f: F, ) -> VortexResult<TraversalOrder>

Walk the node’s children by applying f to them. Read more
Source§

fn map_children<F: FnMut(Self) -> VortexResult<Transformed<Self>>>( self, f: F, ) -> VortexResult<Transformed<Self>>

Rewrite the node’s children by applying f to them. Read more
Source§

fn rewrite<R: NodeRewriter<NodeTy = Self>>( self, rewriter: &mut R, ) -> VortexResult<Transformed<Self>>

Walk the tree in pre-order (top-down) way, rewriting it as it goes.
Source§

fn accept<'a, V: NodeVisitor<'a, NodeTy = Self>>( &'a self, visitor: &mut V, ) -> VortexResult<TraversalOrder>

A pre-order (top-down) traversal.
Source§

fn transform_down<F: FnMut(Self) -> VortexResult<Transformed<Self>>>( self, f: F, ) -> VortexResult<Transformed<Self>>

A pre-order transformation
Source§

fn transform_up<F: FnMut(Self) -> VortexResult<Transformed<Self>>>( self, f: F, ) -> VortexResult<Transformed<Self>>

A post-order transform
Source§

impl<'a> NodeContainer<'a, Arc<dyn VortexExpr>> for ExprRef

Source§

fn apply_elements<F: FnMut(&'a Self) -> VortexResult<TraversalOrder>>( &'a self, f: F, ) -> VortexResult<TraversalOrder>

Applies f to all elements of the container, accepting them by reference
Source§

fn map_elements<F: FnMut(Self) -> VortexResult<Transformed<Self>>>( self, f: F, ) -> VortexResult<Transformed<Self>>

Consumes all the children of the node, replacing them with the result of f.
Source§

impl VortexExprExt for ExprRef

Source§

fn field_references(&self) -> HashSet<FieldName>

Accumulate all field references from this expression and its children in a set