pub struct ColumnChunkStats {
pub min: Option<Value>,
pub max: Option<Value>,
pub guaranteed_no_nulls: bool,
pub guaranteed_all_nulls: bool,
}Expand description
Statistics for a column chunk, used for zone map predicate checking.
Fields§
§min: Option<Value>Minimum value in the chunk (None if unknown).
max: Option<Value>Maximum value in the chunk (None if unknown).
guaranteed_no_nulls: boolWhether the chunk is guaranteed to have no nulls.
guaranteed_all_nulls: boolWhether the chunk is guaranteed to have all nulls.
Implementations§
Source§impl ColumnChunkStats
impl ColumnChunkStats
pub fn new(min: Option<Value>, max: Option<Value>) -> Self
Sourcepub fn update(&mut self, val: &Value)
pub fn update(&mut self, val: &Value)
Update min/max with a new value.
Works for every ordered primitive Value type (numeric, Bool, String,
Date/Timestamp variants, InternalID). Null values are not ordered: they
clear guaranteed_no_nulls and leave min/max untouched so a later
non-null value is not compared against a Null sentinel.
Values whose type cannot be ordered relative to the existing min/max
(mismatched types, Blob/List/Map/…) are ignored for the min/max
bounds — the stats stay conservative and never cause a wrong
SkipScan (P52.22).
Trait Implementations§
Source§impl Clone for ColumnChunkStats
impl Clone for ColumnChunkStats
Source§fn clone(&self) -> ColumnChunkStats
fn clone(&self) -> ColumnChunkStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ColumnChunkStats
impl RefUnwindSafe for ColumnChunkStats
impl Send for ColumnChunkStats
impl Sync for ColumnChunkStats
impl Unpin for ColumnChunkStats
impl UnsafeUnpin for ColumnChunkStats
impl UnwindSafe for ColumnChunkStats
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more