Trait LayoutReader

Source
pub trait LayoutReader:
    'static
    + Send
    + Sync
    + Deref<Target = dyn Layout> {
    // Required methods
    fn name(&self) -> &Arc<str>;
    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 LayoutReader is used to read a Layout in a way that can cache state across multiple evaluation operations.

It dereferences into the underlying layout being read.

Required Methods§

Source

fn name(&self) -> &Arc<str>

Returns the name of the layout reader for debugging.

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.

Implementors§