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§
Sourcefn pruning_evaluation(
&self,
row_range: &Range<u64>,
expr: &ExprRef,
) -> VortexResult<Box<dyn PruningEvaluation>>
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.
Sourcefn filter_evaluation(
&self,
row_range: &Range<u64>,
expr: &ExprRef,
) -> VortexResult<Box<dyn MaskEvaluation>>
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.
Sourcefn projection_evaluation(
&self,
row_range: &Range<u64>,
expr: &ExprRef,
) -> VortexResult<Box<dyn ArrayEvaluation>>
fn projection_evaluation( &self, row_range: &Range<u64>, expr: &ExprRef, ) -> VortexResult<Box<dyn ArrayEvaluation>>
Evaluates the expression against the layout.