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 UnsafeUnpin for CompositePruningStatistics
impl !UnwindSafe for CompositePruningStatistics
Blanket Implementationsยง
Sourceยงimpl<T> AlignerFor<1> for T
impl<T> AlignerFor<1> for T
Sourceยงimpl<T> AlignerFor<1024> for T
impl<T> AlignerFor<1024> for T
Sourceยงtype Aligner = AlignTo1024<T>
type Aligner = AlignTo1024<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<128> for T
impl<T> AlignerFor<128> for T
Sourceยงtype Aligner = AlignTo128<T>
type Aligner = AlignTo128<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<16> for T
impl<T> AlignerFor<16> for T
Sourceยงimpl<T> AlignerFor<16384> for T
impl<T> AlignerFor<16384> for T
Sourceยงtype Aligner = AlignTo16384<T>
type Aligner = AlignTo16384<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<2> for T
impl<T> AlignerFor<2> for T
Sourceยงimpl<T> AlignerFor<2048> for T
impl<T> AlignerFor<2048> for T
Sourceยงtype Aligner = AlignTo2048<T>
type Aligner = AlignTo2048<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<256> for T
impl<T> AlignerFor<256> for T
Sourceยงtype Aligner = AlignTo256<T>
type Aligner = AlignTo256<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<32> for T
impl<T> AlignerFor<32> for T
Sourceยงimpl<T> AlignerFor<32768> for T
impl<T> AlignerFor<32768> for T
Sourceยงtype Aligner = AlignTo32768<T>
type Aligner = AlignTo32768<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<4> for T
impl<T> AlignerFor<4> for T
Sourceยงimpl<T> AlignerFor<4096> for T
impl<T> AlignerFor<4096> for T
Sourceยงtype Aligner = AlignTo4096<T>
type Aligner = AlignTo4096<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<512> for T
impl<T> AlignerFor<512> for T
Sourceยงtype Aligner = AlignTo512<T>
type Aligner = AlignTo512<T>
AlignTo* type which aligns Self to ALIGNMENT.Sourceยงimpl<T> AlignerFor<64> for T
impl<T> AlignerFor<64> for T
Sourceยงimpl<T> AlignerFor<8> for T
impl<T> AlignerFor<8> for T
Sourceยงimpl<T> AlignerFor<8192> for T
impl<T> AlignerFor<8192> for T
Sourceยงtype Aligner = AlignTo8192<T>
type Aligner = AlignTo8192<T>
AlignTo* type which aligns Self to ALIGNMENT.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, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Sourceยงimpl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยง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 moreSourceยงimpl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Sourceยงimpl<S> ROExtAcc for S
impl<S> ROExtAcc for S
Sourceยงfn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset. Read moreSourceยงfn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
offset. Read moreSourceยงfn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
offset. Read moreSourceยงfn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
offset. Read moreSourceยงimpl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
Sourceยงfn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSourceยงfn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
Sourceยงimpl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
Sourceยงfn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSourceยงfn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
Sourceยงimpl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
Sourceยงfn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
Sourceยงfn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
piped except that the function takes &Self
Useful for functions that take &Self instead of Self. Read moreSourceยงfn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
piped, except that the function takes &mut Self.
Useful for functions that take &mut Self instead of Self.Sourceยงfn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
Sourceยงfn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
Sourceยงfn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef,
using the turbofish .as_ref_::<_>() syntax. Read more