Struct mz_persist_types::stats::PrimitiveStats
source · pub struct PrimitiveStats<T> {
pub lower: T,
pub upper: T,
}
Expand description
Statistics about a column of some non-optional parquet type.
Fields§
§lower: T
An inclusive lower bound on the data contained in the column.
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).
upper: T
Same as Self::lower but an (also inclusive) upper bound.
Trait Implementations§
source§impl ColumnStats<String> for PrimitiveStats<String>
impl ColumnStats<String> for PrimitiveStats<String>
source§fn lower<'a>(&'a self) -> Option<<String as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<String as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<String as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<String as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<Vec<u8>> for PrimitiveStats<Vec<u8>>
impl ColumnStats<Vec<u8>> for PrimitiveStats<Vec<u8>>
source§fn lower<'a>(&'a self) -> Option<<Vec<u8> as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<Vec<u8> as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<Vec<u8> as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<Vec<u8> as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<bool> for PrimitiveStats<bool>
impl ColumnStats<bool> for PrimitiveStats<bool>
source§fn lower<'a>(&'a self) -> Option<<bool as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<bool as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<bool as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<bool as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<f32> for PrimitiveStats<f32>
impl ColumnStats<f32> for PrimitiveStats<f32>
source§fn lower<'a>(&'a self) -> Option<<f32 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<f32 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<f32 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<f32 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<f64> for PrimitiveStats<f64>
impl ColumnStats<f64> for PrimitiveStats<f64>
source§fn lower<'a>(&'a self) -> Option<<f64 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<f64 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<f64 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<f64 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<i16> for PrimitiveStats<i16>
impl ColumnStats<i16> for PrimitiveStats<i16>
source§fn lower<'a>(&'a self) -> Option<<i16 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<i16 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<i16 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<i16 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<i32> for PrimitiveStats<i32>
impl ColumnStats<i32> for PrimitiveStats<i32>
source§fn lower<'a>(&'a self) -> Option<<i32 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<i32 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<i32 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<i32 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<i64> for PrimitiveStats<i64>
impl ColumnStats<i64> for PrimitiveStats<i64>
source§fn lower<'a>(&'a self) -> Option<<i64 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<i64 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<i64 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<i64 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<i8> for PrimitiveStats<i8>
impl ColumnStats<i8> for PrimitiveStats<i8>
source§fn lower<'a>(&'a self) -> Option<<i8 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<i8 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<i8 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<i8 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<u16> for PrimitiveStats<u16>
impl ColumnStats<u16> for PrimitiveStats<u16>
source§fn lower<'a>(&'a self) -> Option<<u16 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<u16 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<u16 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<u16 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<u32> for PrimitiveStats<u32>
impl ColumnStats<u32> for PrimitiveStats<u32>
source§fn lower<'a>(&'a self) -> Option<<u32 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<u32 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<u32 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<u32 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<u64> for PrimitiveStats<u64>
impl ColumnStats<u64> for PrimitiveStats<u64>
source§fn lower<'a>(&'a self) -> Option<<u64 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<u64 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<u64 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<u64 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl ColumnStats<u8> for PrimitiveStats<u8>
impl ColumnStats<u8> for PrimitiveStats<u8>
source§fn lower<'a>(&'a self) -> Option<<u8 as Data>::Ref<'a>>
fn lower<'a>(&'a self) -> Option<<u8 as Data>::Ref<'a>>
An inclusive lower bound on the data contained in the column, if known. Read more
source§fn upper<'a>(&'a self) -> Option<<u8 as Data>::Ref<'a>>
fn upper<'a>(&'a self) -> Option<<u8 as Data>::Ref<'a>>
Same as Self::lower but an (also inclusive) upper bound.
source§fn none_count(&self) -> usize
fn none_count(&self) -> usize
The number of
None
s if this column is optional or 0 if it isn’t.source§impl<T: Serialize> Debug for PrimitiveStats<T>
impl<T: Serialize> Debug for PrimitiveStats<T>
source§impl<T: Serialize> DynStats for PrimitiveStats<T>
impl<T: Serialize> DynStats for PrimitiveStats<T>
source§fn into_proto(&self) -> ProtoDynStats
fn into_proto(&self) -> ProtoDynStats
source§fn debug_json(&self) -> Value
fn debug_json(&self) -> Value
Formats these statistics for use in
INSPECT SHARD
and debugging.source§impl DynStats for PrimitiveStats<Vec<u8>>
impl DynStats for PrimitiveStats<Vec<u8>>
source§fn into_proto(&self) -> ProtoDynStats
fn into_proto(&self) -> ProtoDynStats
source§fn debug_json(&self) -> Value
fn debug_json(&self) -> Value
Formats these statistics for use in
INSPECT SHARD
and debugging.source§impl RustType<ProtoPrimitiveBytesStats> for PrimitiveStats<Vec<u8>>
impl RustType<ProtoPrimitiveBytesStats> for PrimitiveStats<Vec<u8>>
source§fn into_proto(&self) -> ProtoPrimitiveBytesStats
fn into_proto(&self) -> ProtoPrimitiveBytesStats
Convert a
Self
into a Proto
value.source§fn from_proto(
proto: ProtoPrimitiveBytesStats
) -> Result<Self, TryFromProtoError>
fn from_proto( proto: ProtoPrimitiveBytesStats ) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<String>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<String>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<bool>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<bool>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<f32>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<f32>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<f64>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<f64>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i16>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i16>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i32>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i32>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i64>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i64>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i8>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<i8>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u16>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u16>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u32>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u32>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u64>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u64>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u8>
impl RustType<ProtoPrimitiveStats> for PrimitiveStats<u8>
source§fn into_proto(&self) -> ProtoPrimitiveStats
fn into_proto(&self) -> ProtoPrimitiveStats
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPrimitiveStats) -> Result<Self, TryFromProtoError>
source§impl StatsFrom<BooleanBuffer> for PrimitiveStats<bool>
impl StatsFrom<BooleanBuffer> for PrimitiveStats<bool>
source§fn stats_from(col: &BooleanBuffer, validity: ValidityRef) -> Self
fn stats_from(col: &BooleanBuffer, validity: ValidityRef) -> Self
Computes statistics from a column of data. Read more
source§impl StatsFrom<GenericByteArray<GenericBinaryType<i32>>> for PrimitiveStats<Vec<u8>>
impl StatsFrom<GenericByteArray<GenericBinaryType<i32>>> for PrimitiveStats<Vec<u8>>
source§fn stats_from(col: &BinaryArray, validity: ValidityRef) -> Self
fn stats_from(col: &BinaryArray, validity: ValidityRef) -> Self
Computes statistics from a column of data. Read more
source§impl StatsFrom<GenericByteArray<GenericStringType<i32>>> for PrimitiveStats<String>
impl StatsFrom<GenericByteArray<GenericStringType<i32>>> for PrimitiveStats<String>
source§fn stats_from(col: &StringArray, validity: ValidityRef) -> Self
fn stats_from(col: &StringArray, validity: ValidityRef) -> Self
Computes statistics from a column of data. Read more
source§impl<T: ArrowPrimitiveType> StatsFrom<PrimitiveArray<T>> for PrimitiveStats<T::Native>
impl<T: ArrowPrimitiveType> StatsFrom<PrimitiveArray<T>> for PrimitiveStats<T::Native>
source§fn stats_from(col: &PrimitiveArray<T>, validity: ValidityRef) -> Self
fn stats_from(col: &PrimitiveArray<T>, validity: ValidityRef) -> Self
Computes statistics from a column of data. Read more
Auto Trait Implementations§
impl<T> Freeze for PrimitiveStats<T>where
T: Freeze,
impl<T> RefUnwindSafe for PrimitiveStats<T>where
T: RefUnwindSafe,
impl<T> Send for PrimitiveStats<T>where
T: Send,
impl<T> Sync for PrimitiveStats<T>where
T: Sync,
impl<T> Unpin for PrimitiveStats<T>where
T: Unpin,
impl<T> UnwindSafe for PrimitiveStats<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.