pub enum CellValue {
Null,
Number(String),
Float(f64),
Bool(bool),
Text(String),
Date(i64),
Timestamp {
seconds: i64,
nanos: u32,
},
TimestampTz {
seconds: i64,
nanos: u32,
offset_minutes: i32,
},
Binary(Vec<u8>),
Json(Value),
}Expand description
A decoded result cell. Deliberately lossless and neutral: numerics stay as
their exact decimal strings, timestamps stay as (seconds, nanos) pairs, and
semi-structured values stay as JSON — frame materialization (a later crate)
owns the dtype projection.
Variants§
Null
SQL NULL.
Number(String)
FIXED/NUMBER: the decimal exactly as written (no scale division).
Float(f64)
REAL/FLOAT/DOUBLE.
Bool(bool)
BOOLEAN.
Text(String)
TEXT/STRING/VARCHAR and any unmodeled type (decoded leniently).
Date(i64)
DATE: days since the Unix epoch.
Timestamp
TIME/TIMESTAMP_NTZ/TIMESTAMP_LTZ: fractional epoch seconds split into
whole seconds and nanos.
Fields
TimestampTz
TIMESTAMP_TZ: a CellValue::Timestamp plus a timezone offset in
minutes, already decoded from the wire’s offset_minutes + 1440.
Fields
Binary(Vec<u8>)
BINARY: hex-decoded bytes.
Json(Value)
VARIANT/OBJECT/ARRAY: the embedded JSON value.
Trait Implementations§
impl StructuralPartialEq for CellValue
Auto Trait Implementations§
impl Freeze for CellValue
impl RefUnwindSafe for CellValue
impl Send for CellValue
impl Sync for CellValue
impl Unpin for CellValue
impl UnsafeUnpin for CellValue
impl UnwindSafe for CellValue
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).