ExprRef

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 iter_children<T>( &self, f: impl FnOnce(&mut dyn Iterator<Item = &Self>) -> T, ) -> T

This is a lower level API that other functions rely on for their implementation.
Source§

fn children_count(&self) -> usize

This is a lower level API that other functions rely on for their implementation.
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
Source§

fn to_operator(&self, root: &dyn Array) -> VortexResult<Option<OperatorRef>>

Source§

fn to_operator_unoptimized( &self, root: &dyn Array, ) -> VortexResult<Option<OperatorRef>>