pub enum DataFormat {
LegacyOA,
V5CompressedLegacy,
V5UncompressedOA,
}Expand description
Data format characteristics for SSTable parsing
This enum distinguishes between different serialization formats used in Cassandra SSTables. The format determines how partition keys, row data, and cell values are encoded.
Variants§
LegacyOA
Legacy ‘oa’ uncompressed format
Used by older Cassandra versions. Uncompressed or optionally compressed, with older serialization encoding.
V5CompressedLegacy
Cassandra 5.0 ‘nb’ (new big) compressed format with legacy serialization
Despite being Cassandra 5.0 and using ‘nb’ naming, these formats use:
- Compressed blocks (LZ4/Snappy via CompressionInfo.db)
- Legacy serialization encoding inside decompressed blocks
- Partition key lengths: u16 big-endian (NOT VInt)
- Row encoding: Legacy serialization header format
Must NOT use RowCellStateMachine (which expects VInt encoding). Should use legacy block parsing with u16 length prefixes.
V5UncompressedOA
Cassandra 5.0 true ‘oa’ uncompressed format with VInt encoding
True Cassandra 5.0 “oa” format with:
- VInt-encoded partition key component counts and lengths
- Modern row/cell encoding
- Should use RowCellStateMachine for parsing
Only V5_0NewBig and V5_0Bti use this format.
Trait Implementations§
Source§impl Clone for DataFormat
impl Clone for DataFormat
Source§fn clone(&self) -> DataFormat
fn clone(&self) -> DataFormat
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DataFormat
Source§impl Debug for DataFormat
impl Debug for DataFormat
Source§impl<'de> Deserialize<'de> for DataFormat
impl<'de> Deserialize<'de> for DataFormat
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>,
impl Eq for DataFormat
Source§impl PartialEq for DataFormat
impl PartialEq for DataFormat
Source§fn eq(&self, other: &DataFormat) -> bool
fn eq(&self, other: &DataFormat) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for DataFormat
impl Serialize for DataFormat
impl StructuralPartialEq for DataFormat
Auto Trait Implementations§
impl Freeze for DataFormat
impl RefUnwindSafe for DataFormat
impl Send for DataFormat
impl Sync for DataFormat
impl Unpin for DataFormat
impl UnsafeUnpin for DataFormat
impl UnwindSafe for DataFormat
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.