Trait mz_persist_types::stats::ColumnStats

source ·
pub trait ColumnStats<T: Data>: DynStats {
    // Required methods
    fn lower<'a>(&'a self) -> Option<T::Ref<'a>>;
    fn upper<'a>(&'a self) -> Option<T::Ref<'a>>;
    fn none_count(&self) -> usize;
}
Expand description

Aggregate statistics about a column of type T.

Required Methods§

source

fn lower<'a>(&'a self) -> Option<T::Ref<'a>>

An inclusive lower bound on the data contained in the column, if known.

This will often be a tight bound, but it’s not guaranteed. Persist reserves the right to (for example) invent smaller bounds for long byte strings. SUBTLE: This means that this exact value may not be present in the column.

Similarly, if the column is empty, this will contain T: Default. Emptiness will be indicated in statistics higher up (i.e. StructStats).

source

fn upper<'a>(&'a self) -> Option<T::Ref<'a>>

Same as Self::lower but an (also inclusive) upper bound.

source

fn none_count(&self) -> usize

The number of Nones if this column is optional or 0 if it isn’t.

Implementors§

source§

impl ColumnStats<Option<bool>> for OptionStats<PrimitiveStats<bool>>

source§

impl ColumnStats<Option<f32>> for OptionStats<PrimitiveStats<f32>>

source§

impl ColumnStats<Option<f64>> for OptionStats<PrimitiveStats<f64>>

source§

impl ColumnStats<Option<i8>> for OptionStats<PrimitiveStats<i8>>

source§

impl ColumnStats<Option<i16>> for OptionStats<PrimitiveStats<i16>>

source§

impl ColumnStats<Option<i32>> for OptionStats<PrimitiveStats<i32>>

source§

impl ColumnStats<Option<i64>> for OptionStats<PrimitiveStats<i64>>

source§

impl ColumnStats<Option<u8>> for OptionStats<PrimitiveStats<u8>>

source§

impl ColumnStats<Option<u16>> for OptionStats<PrimitiveStats<u16>>

source§

impl ColumnStats<Option<u32>> for OptionStats<PrimitiveStats<u32>>

source§

impl ColumnStats<Option<u64>> for OptionStats<PrimitiveStats<u64>>

source§

impl ColumnStats<Option<DynStruct>> for OptionStats<StructStats>

source§

impl ColumnStats<Option<String>> for OptionStats<PrimitiveStats<String>>

source§

impl ColumnStats<Option<Vec<u8>>> for OptionStats<BytesStats>

source§

impl ColumnStats<Option<Vec<u8>>> for OptionStats<PrimitiveStats<Vec<u8>>>

source§

impl ColumnStats<bool> for PrimitiveStats<bool>

source§

impl ColumnStats<f32> for PrimitiveStats<f32>

source§

impl ColumnStats<f64> for PrimitiveStats<f64>

source§

impl ColumnStats<i8> for PrimitiveStats<i8>

source§

impl ColumnStats<i16> for PrimitiveStats<i16>

source§

impl ColumnStats<i32> for PrimitiveStats<i32>

source§

impl ColumnStats<i64> for PrimitiveStats<i64>

source§

impl ColumnStats<u8> for PrimitiveStats<u8>

source§

impl ColumnStats<u16> for PrimitiveStats<u16>

source§

impl ColumnStats<u32> for PrimitiveStats<u32>

source§

impl ColumnStats<u64> for PrimitiveStats<u64>

source§

impl ColumnStats<DynStruct> for StructStats

source§

impl ColumnStats<String> for PrimitiveStats<String>

source§

impl ColumnStats<Vec<u8>> for BytesStats

source§

impl ColumnStats<Vec<u8>> for PrimitiveStats<Vec<u8>>

source§

impl<T> ColumnStats<Option<T>> for OptionStats<NoneStats>
where Option<T>: Data,

source§

impl<T: Data> ColumnStats<T> for NoneStats