pub struct ColumnStatistics {
pub codec: ColumnCodec,
pub count: u64,
pub min: Option<f64>,
pub max: Option<f64>,
pub sum: Option<f64>,
pub cardinality: Option<u32>,
pub compressed_bytes: u64,
pub uncompressed_bytes: u64,
}Expand description
Per-column statistics computed at flush time.
Stored in partition metadata for predicate pushdown and approximate query answers without decompression.
Fields§
§codec: ColumnCodecCodec used for this column in this partition.
count: u64Number of non-null values.
min: Option<f64>Minimum value (as f64 for numeric columns, 0.0 for non-numeric).
max: Option<f64>Maximum value.
sum: Option<f64>Sum of values (for numeric columns).
cardinality: Option<u32>Number of distinct values (for symbol/tag columns).
compressed_bytes: u64Compressed size in bytes for this column.
uncompressed_bytes: u64Uncompressed size in bytes.
Implementations§
Source§impl ColumnStatistics
impl ColumnStatistics
Sourcepub fn new(codec: ColumnCodec) -> Self
pub fn new(codec: ColumnCodec) -> Self
Create empty statistics with just the codec.
Sourcepub fn from_i64(
values: &[i64],
codec: ColumnCodec,
compressed_bytes: u64,
) -> Self
pub fn from_i64( values: &[i64], codec: ColumnCodec, compressed_bytes: u64, ) -> Self
Compute statistics for an i64 column.
Sourcepub fn from_f64(
values: &[f64],
codec: ColumnCodec,
compressed_bytes: u64,
) -> Self
pub fn from_f64( values: &[f64], codec: ColumnCodec, compressed_bytes: u64, ) -> Self
Compute statistics for an f64 column.
Sourcepub fn from_symbols(
values: &[u32],
cardinality: u32,
codec: ColumnCodec,
compressed_bytes: u64,
) -> Self
pub fn from_symbols( values: &[u32], cardinality: u32, codec: ColumnCodec, compressed_bytes: u64, ) -> Self
Compute statistics for a symbol column.
Sourcepub fn compression_ratio(&self) -> f64
pub fn compression_ratio(&self) -> f64
Compression ratio (uncompressed / compressed). Returns 1.0 if no data.
Trait Implementations§
Source§impl Clone for ColumnStatistics
impl Clone for ColumnStatistics
Source§fn clone(&self) -> ColumnStatistics
fn clone(&self) -> ColumnStatistics
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ColumnStatistics
impl Debug for ColumnStatistics
Source§impl<'de> Deserialize<'de> for ColumnStatistics
impl<'de> Deserialize<'de> for ColumnStatistics
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ColumnStatistics
impl RefUnwindSafe for ColumnStatistics
impl Send for ColumnStatistics
impl Sync for ColumnStatistics
impl Unpin for ColumnStatistics
impl UnsafeUnpin for ColumnStatistics
impl UnwindSafe for ColumnStatistics
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