Trait ExprEvaluator

Source
pub trait ExprEvaluator: Send + Sync {
    // Required methods
    fn pruning_evaluation(
        &self,
        row_range: &Range<u64>,
        expr: &ExprRef,
    ) -> VortexResult<Box<dyn PruningEvaluation>>;
    fn filter_evaluation(
        &self,
        row_range: &Range<u64>,
        expr: &ExprRef,
    ) -> VortexResult<Box<dyn MaskEvaluation>>;
    fn projection_evaluation(
        &self,
        row_range: &Range<u64>,
        expr: &ExprRef,
    ) -> VortexResult<Box<dyn ArrayEvaluation>>;
}
Expand description

A trait for evaluating expressions against a LayoutReader.

Required Methods§

Source

fn pruning_evaluation( &self, row_range: &Range<u64>, expr: &ExprRef, ) -> VortexResult<Box<dyn PruningEvaluation>>

Performs an approximate evaluation of the expression against the layout reader.

Source

fn filter_evaluation( &self, row_range: &Range<u64>, expr: &ExprRef, ) -> VortexResult<Box<dyn MaskEvaluation>>

Performs an exact evaluation of the expression against the layout reader.

Source

fn projection_evaluation( &self, row_range: &Range<u64>, expr: &ExprRef, ) -> VortexResult<Box<dyn ArrayEvaluation>>

Evaluates the expression against the layout.

Implementations on Foreign Types§

Source§

impl ExprEvaluator for Arc<dyn LayoutReader>

Source§

fn pruning_evaluation( &self, row_range: &Range<u64>, expr: &ExprRef, ) -> VortexResult<Box<dyn PruningEvaluation>>

Source§

fn filter_evaluation( &self, row_range: &Range<u64>, expr: &ExprRef, ) -> VortexResult<Box<dyn MaskEvaluation>>

Source§

fn projection_evaluation( &self, row_range: &Range<u64>, expr: &ExprRef, ) -> VortexResult<Box<dyn ArrayEvaluation>>

Implementors§