#[repr(u8)]pub enum ColumnCodec {
Show 16 variants
Auto = 0,
AlpFastLanesLz4 = 1,
AlpRdLz4 = 2,
PcodecLz4 = 3,
DeltaFastLanesLz4 = 4,
FastLanesLz4 = 5,
FsstLz4 = 6,
AlpFastLanesRans = 7,
DeltaFastLanesRans = 8,
FsstRans = 9,
Gorilla = 10,
DoubleDelta = 11,
Delta = 12,
Lz4 = 13,
Zstd = 14,
Raw = 15,
}Expand description
Codec identifier for per-column compression selection.
Stored in partition schema metadata so the reader knows which decoder to use for each column file.
Variants§
Auto = 0
Engine selects codec automatically based on column type and data distribution (analyzed at flush time).
AlpFastLanesLz4 = 1
f64 metrics: ALP (decimal→int) → FastLanes → lz4.
AlpRdLz4 = 2
f64 true doubles: ALP-RD (front-bit dict) → lz4.
PcodecLz4 = 3
f64/i64 complex: Pcodec → lz4.
DeltaFastLanesLz4 = 4
i64 timestamps/counters: Delta → FastLanes → lz4.
FastLanesLz4 = 5
i64/u32 raw integers: FastLanes → lz4.
FsstLz4 = 6
Strings/logs: FSST (substring dict) → lz4.
AlpFastLanesRans = 7
f64 metrics cold: ALP → FastLanes → rANS.
DeltaFastLanesRans = 8
i64 cold: Delta → FastLanes → rANS.
FsstRans = 9
Strings cold: FSST → rANS.
Gorilla = 10
Gorilla XOR encoding — f64 codec selected by detect.rs for float columns.
DoubleDelta = 11
DoubleDelta — timestamp codec selected by detect.rs for monotonic timestamp columns.
Delta = 12
Delta + varint — counter codec selected by detect.rs for integer delta columns.
Lz4 = 13
LZ4 block compression — for string/log columns.
Zstd = 14
Zstd — for cold/archived partitions.
Raw = 15
No compression — for pre-compressed or symbol columns.
Implementations§
Source§impl ColumnCodec
impl ColumnCodec
pub fn is_compressed(&self) -> bool
Sourcepub fn is_cascading(&self) -> bool
pub fn is_cascading(&self) -> bool
Whether this is a cascading (multi-stage) codec.
Sourcepub fn is_cold_tier(&self) -> bool
pub fn is_cold_tier(&self) -> bool
Whether this codec uses rANS as terminal (cold tier).
pub fn as_str(&self) -> &'static str
Sourcepub fn try_resolve(self) -> Result<ResolvedColumnCodec, CodecError>
pub fn try_resolve(self) -> Result<ResolvedColumnCodec, CodecError>
Resolve Auto to a concrete codec using the provided detection result,
or return an error if this is called with Auto where a concrete value
is required (i.e. a caller forgot to run detection first).
For callers that have already run detection and hold a non-Auto
codec, this is a zero-cost newtype wrap.
Trait Implementations§
Source§impl Clone for ColumnCodec
impl Clone for ColumnCodec
Source§fn clone(&self) -> ColumnCodec
fn clone(&self) -> ColumnCodec
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 ColumnCodec
impl Debug for ColumnCodec
Source§impl<'de> Deserialize<'de> for ColumnCodec
impl<'de> Deserialize<'de> for ColumnCodec
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>,
Source§impl Display for ColumnCodec
impl Display for ColumnCodec
Source§impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for ColumnCodec
impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for ColumnCodec
Source§impl Hash for ColumnCodec
impl Hash for ColumnCodec
Source§impl PartialEq for ColumnCodec
impl PartialEq for ColumnCodec
Source§fn eq(&self, other: &ColumnCodec) -> bool
fn eq(&self, other: &ColumnCodec) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ColumnCodec
impl Serialize for ColumnCodec
Source§impl ToMessagePack for ColumnCodec
impl ToMessagePack for ColumnCodec
impl Copy for ColumnCodec
impl Eq for ColumnCodec
impl StructuralPartialEq for ColumnCodec
Auto Trait Implementations§
impl Freeze for ColumnCodec
impl RefUnwindSafe for ColumnCodec
impl Send for ColumnCodec
impl Sync for ColumnCodec
impl Unpin for ColumnCodec
impl UnsafeUnpin for ColumnCodec
impl UnwindSafe for ColumnCodec
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.