pub struct ColumnBlockMeta {
pub column_index: u16,
pub encoding: EncodingType,
pub compressed: bool,
pub offset: u64,
pub length: u32,
pub value_count: u32,
pub block_crc: u32,
pub encrypted: bool,
pub validity_offset: u64,
pub validity_length: u32,
pub stats: ColumnStats,
}Expand description
Per-row-group column block location and metadata.
Fields§
§column_index: u16Index of the column in the column metadata table.
encoding: EncodingTypeEncoding type for this specific block.
compressed: boolWhether the block is LZ4-compressed.
offset: u64Byte offset within the segment file.
length: u32Length of the (possibly compressed) block in bytes.
value_count: u32Number of values in this block.
block_crc: u32CRC32c checksum of the block data for integrity verification. A value of 0 indicates no checksum (backward compatibility with old segments).
encrypted: boolWhether this block is encrypted (AES-256-GCM).
validity_offset: u64Byte offset of this block’s validity bitmap within the segment file.
See validity_length. Meaningless when
validity_length == 0.
validity_length: u32Length in bytes of this block’s validity bitmap, or 0 when the block
contains no nulls (.csx v2, D-NULL).
The bitmap is an Arrow-compatible LSB-first packed bitmap of
value_count bits: bit i set means row i holds a real value, bit
clear means SQL NULL. It is stored uncompressed and unencrypted
immediately after the block’s value bytes.
Before v2, absent values were encoded as type-specific sentinels
(0/""/false) and only an aggregate null_count survived, so a
stored zero and an absent field were indistinguishable at read time.
stats: ColumnStatsBlock-level statistics.
Implementations§
Trait Implementations§
Source§impl Clone for ColumnBlockMeta
impl Clone for ColumnBlockMeta
Source§fn clone(&self) -> ColumnBlockMeta
fn clone(&self) -> ColumnBlockMeta
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ColumnBlockMeta
impl Debug for ColumnBlockMeta
Source§impl PartialEq for ColumnBlockMeta
impl PartialEq for ColumnBlockMeta
impl StructuralPartialEq for ColumnBlockMeta
Auto Trait Implementations§
impl Freeze for ColumnBlockMeta
impl RefUnwindSafe for ColumnBlockMeta
impl Send for ColumnBlockMeta
impl Sync for ColumnBlockMeta
impl Unpin for ColumnBlockMeta
impl UnsafeUnpin for ColumnBlockMeta
impl UnwindSafe for ColumnBlockMeta
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