pub struct CompositePruningStatistics {
pub statistics: Vec<Box<dyn PruningStatistics>>,
}Expand description
Combine multiple PruningStatistics into a single
CompositePruningStatistics.
This can be used to combine statistics from different sources,
for example partition values and file statistics.
This allows pruning with filters that depend on multiple sources of statistics,
such as WHERE partition_col = data_col.
This is done by iterating over the statistics and returning the first
one that has information for the requested column.
If multiple statistics have information for the same column,
the first one is returned without any regard for completeness or accuracy.
That is: if the first statistics has information for a column, even if it is incomplete,
that is returned even if a later statistics has more complete information.
Fieldsยง
ยงstatistics: Vec<Box<dyn PruningStatistics>>Implementationsยง
Sourceยงimpl CompositePruningStatistics
impl CompositePruningStatistics
Sourcepub fn new(statistics: Vec<Box<dyn PruningStatistics>>) -> Self
pub fn new(statistics: Vec<Box<dyn PruningStatistics>>) -> Self
Create a new instance of CompositePruningStatistics from
a vector of PruningStatistics.
Trait Implementationsยง
Sourceยงimpl PruningStatistics for CompositePruningStatistics
impl PruningStatistics for CompositePruningStatistics
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 moreSourceยงfn contained(
&self,
column: &Column,
values: &HashSet<ScalarValue>,
) -> Option<BooleanArray>
fn contained( &self, column: &Column, values: &HashSet<ScalarValue>, ) -> Option<BooleanArray>
BooleanArray where each row represents information known
about specific literal values in a column. Read moreAuto Trait Implementationsยง
impl Freeze for CompositePruningStatistics
impl !RefUnwindSafe for CompositePruningStatistics
impl !Send for CompositePruningStatistics
impl !Sync for CompositePruningStatistics
impl Unpin for CompositePruningStatistics
impl !UnwindSafe for CompositePruningStatistics
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> 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