pub struct PrunableStatistics {
statistics: Vec<Arc<Statistics>>,
schema: SchemaRef,
}Expand description
Prune a set of containers represented by their statistics.
Each Statistics represents a “container” – some collection of data
that has statistics of its columns.
It is up to the caller to decide what each container represents. For
example, they can come from a file (e.g. PartitionedFile) or a set of of
files (e.g. FileGroup)
Fields§
§statistics: Vec<Arc<Statistics>>Statistics for each container. These are taken as a reference since they may be rather large / expensive to clone and we often won’t return all of them as ArrayRefs (we only return the columns the predicate requests).
schema: SchemaRefThe schema of the file these statistics are for.
Implementations§
Source§impl PrunableStatistics
impl PrunableStatistics
Sourcepub fn new(statistics: Vec<Arc<Statistics>>, schema: SchemaRef) -> Self
pub fn new(statistics: Vec<Arc<Statistics>>, schema: SchemaRef) -> Self
Create a new instance of PrunableStatistics.
Each Statistics represents a container (e.g. a file or a partition of files).
The schema is the schema of the data in the containers and should apply to all files.
fn get_exact_column_statistics( &self, column: &Column, get_stat: impl Fn(&ColumnStatistics) -> &Precision<ScalarValue>, ) -> Option<ArrayRef>
Trait Implementations§
Source§impl Clone for PrunableStatistics
impl Clone for PrunableStatistics
Source§fn clone(&self) -> PrunableStatistics
fn clone(&self) -> PrunableStatistics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl PruningStatistics for PrunableStatistics
impl PruningStatistics for PrunableStatistics
Source§fn min_values(&self, column: &Column) -> Option<ArrayRef>
fn min_values(&self, column: &Column) -> Option<ArrayRef>
Source§fn max_values(&self, column: &Column) -> Option<ArrayRef>
fn max_values(&self, column: &Column) -> Option<ArrayRef>
Source§fn num_containers(&self) -> usize
fn num_containers(&self) -> usize
Source§fn null_counts(&self, column: &Column) -> Option<ArrayRef>
fn null_counts(&self, column: &Column) -> Option<ArrayRef>
UInt64Array Read moreSource§fn row_counts(&self, column: &Column) -> Option<ArrayRef>
fn row_counts(&self, column: &Column) -> Option<ArrayRef>
UInt64Array. Read moreAuto Trait Implementations§
impl Freeze for PrunableStatistics
impl !RefUnwindSafe for PrunableStatistics
impl Send for PrunableStatistics
impl Sync for PrunableStatistics
impl Unpin for PrunableStatistics
impl !UnwindSafe for PrunableStatistics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more