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>>,
) -> CompositePruningStatistics
pub fn new( statistics: Vec<Box<dyn PruningStatistics>>, ) -> CompositePruningStatistics
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<Arc<dyn Array>>
fn min_values(&self, column: &Column) -> Option<Arc<dyn Array>>
Source§fn max_values(&self, column: &Column) -> Option<Arc<dyn Array>>
fn max_values(&self, column: &Column) -> Option<Arc<dyn Array>>
Source§fn num_containers(&self) -> usize
fn num_containers(&self) -> usize
Source§fn null_counts(&self, column: &Column) -> Option<Arc<dyn Array>>
fn null_counts(&self, column: &Column) -> Option<Arc<dyn Array>>
UInt64Array
Read moreSource§fn row_counts(&self, column: &Column) -> Option<Arc<dyn Array>>
fn row_counts(&self, column: &Column) -> Option<Arc<dyn Array>>
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