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