Struct mz_repr::row::encode::RowColumnarDecoder
source · pub struct RowColumnarDecoder {
len: usize,
decoders: Vec<(Arc<str>, Option<usize>, DatumColumnDecoder)>,
nullability: Option<NullBuffer>,
}
Expand description
A ColumnDecoder
for a Row
.
Fields§
§len: usize
The length of all columns in this decoder; matching all child arrays and the null array if present.
decoders: Vec<(Arc<str>, Option<usize>, DatumColumnDecoder)>
Field-specific information: the user-readable field name, the null count (or None if the column is non-nullable), and the decoder which wraps the column-specific array.
nullability: Option<NullBuffer>
The null buffer for this row, if present. (At time of writing, all rows are assumed to be logically nullable.)
Implementations§
source§impl RowColumnarDecoder
impl RowColumnarDecoder
sourcepub fn new(col: StructArray, desc: &RelationDesc) -> Result<Self, Error>
pub fn new(col: StructArray, desc: &RelationDesc) -> Result<Self, Error>
Creates a RowColumnarDecoder
that decodes from the provided StructArray
.
Returns an error if the schema of the StructArray
does not match
the provided RelationDesc
.
pub fn null_count(&self) -> usize
Trait Implementations§
source§impl ColumnDecoder<Row> for RowColumnarDecoder
impl ColumnDecoder<Row> for RowColumnarDecoder
source§fn stats(&self) -> StructStats
fn stats(&self) -> StructStats
Returns statistics for the column. This structure is defined by Persist,
but the contents are determined by the client; Persist will preserve
them in the part metadata and make them available to readers. Read more
Auto Trait Implementations§
impl Freeze for RowColumnarDecoder
impl RefUnwindSafe for RowColumnarDecoder
impl Send for RowColumnarDecoder
impl Sync for RowColumnarDecoder
impl Unpin for RowColumnarDecoder
impl UnwindSafe for RowColumnarDecoder
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
.