LayoutReader

Trait LayoutReader 

Source
pub trait LayoutReader:
    'static
    + Send
    + Sync {
    // Required methods
    fn name(&self) -> &Arc<str>;
    fn dtype(&self) -> &DType;
    fn row_count(&self) -> Precision<u64>;
    fn register_splits(
        &self,
        field_mask: &[FieldMask],
        row_offset: u64,
        splits: &mut BTreeSet<u64>,
    ) -> VortexResult<()>;
    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 crate::Layout in a way that can cache state across multiple evaluation operations.

Required Methods§

Source

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

Returns the name of the layout reader for debugging.

Source

fn dtype(&self) -> &DType

Returns the un-projected dtype of the layout reader.

Source

fn row_count(&self) -> Precision<u64>

Returns the number of rows in the layout reader. An inexact count may be larger or smaller than the actual row count.

Source

fn register_splits( &self, field_mask: &[FieldMask], row_offset: u64, splits: &mut BTreeSet<u64>, ) -> VortexResult<()>

Register the splits of this layout reader.

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§