Enum mz_repr::row::encode::DatumColumnDecoder
source · enum DatumColumnDecoder {
Show 29 variants
Bool(BooleanArray),
U8(UInt8Array),
U16(UInt16Array),
U32(UInt32Array),
U64(UInt64Array),
I16(Int16Array),
I32(Int32Array),
I64(Int64Array),
F32(Float32Array),
F64(Float64Array),
Numeric(BinaryArray),
Bytes(BinaryArray),
String(StringArray),
Date(Int32Array),
Time(FixedSizeBinaryArray),
Timestamp(FixedSizeBinaryArray),
TimestampTz(FixedSizeBinaryArray),
MzTimestamp(UInt64Array),
Interval(FixedSizeBinaryArray),
Uuid(FixedSizeBinaryArray),
Json(StringArray),
Array {
dim_offsets: OffsetBuffer<i32>,
dims: FixedSizeBinaryArray,
val_offsets: OffsetBuffer<i32>,
vals: Box<DatumColumnDecoder>,
nulls: Option<NullBuffer>,
},
List {
offsets: OffsetBuffer<i32>,
values: Box<DatumColumnDecoder>,
nulls: Option<NullBuffer>,
},
Map {
offsets: OffsetBuffer<i32>,
keys: StringArray,
vals: Box<DatumColumnDecoder>,
nulls: Option<NullBuffer>,
},
RecordEmpty(BooleanArray),
Record {
fields: Vec<Box<DatumColumnDecoder>>,
nulls: Option<NullBuffer>,
},
Range(BinaryArray),
MzAclItem(BinaryArray),
AclItem(FixedSizeBinaryArray),
}
Expand description
A decoder for a column of Datum
s.
Note: We specifically structure the decoder as an enum instead of using trait objects because Datum decoding is an extremely hot path and downcasting objects is relatively slow.
Variants§
Bool(BooleanArray)
U8(UInt8Array)
U16(UInt16Array)
U32(UInt32Array)
U64(UInt64Array)
I16(Int16Array)
I32(Int32Array)
I64(Int64Array)
F32(Float32Array)
F64(Float64Array)
Numeric(BinaryArray)
Bytes(BinaryArray)
String(StringArray)
Date(Int32Array)
Time(FixedSizeBinaryArray)
Timestamp(FixedSizeBinaryArray)
TimestampTz(FixedSizeBinaryArray)
MzTimestamp(UInt64Array)
Interval(FixedSizeBinaryArray)
Uuid(FixedSizeBinaryArray)
Json(StringArray)
Array
Fields
§
dim_offsets: OffsetBuffer<i32>
§
dims: FixedSizeBinaryArray
§
val_offsets: OffsetBuffer<i32>
§
vals: Box<DatumColumnDecoder>
§
nulls: Option<NullBuffer>
List
Map
Fields
§
offsets: OffsetBuffer<i32>
§
keys: StringArray
§
vals: Box<DatumColumnDecoder>
§
nulls: Option<NullBuffer>
RecordEmpty(BooleanArray)
Record
Range(BinaryArray)
MzAclItem(BinaryArray)
AclItem(FixedSizeBinaryArray)
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DatumColumnDecoder
impl RefUnwindSafe for DatumColumnDecoder
impl Send for DatumColumnDecoder
impl Sync for DatumColumnDecoder
impl Unpin for DatumColumnDecoder
impl UnwindSafe for DatumColumnDecoder
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
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.