Struct mz_repr::row::encoding2::RowColumnarEncoder
source · pub struct RowColumnarEncoder {
encoders: Vec<DatumEncoder>,
col_names: Vec<(usize, Arc<str>)>,
nullability: BooleanBufferBuilder,
}
Expand description
A ColumnEncoder
for a Row
.
Fields§
§encoders: Vec<DatumEncoder>
§col_names: Vec<(usize, Arc<str>)>
§nullability: BooleanBufferBuilder
Implementations§
source§impl RowColumnarEncoder
impl RowColumnarEncoder
sourcepub fn new(desc: &RelationDesc) -> Option<Self>
pub fn new(desc: &RelationDesc) -> Option<Self>
Creates a RowColumnarEncoder
for the provided RelationDesc
.
Returns None
if the provided RelationDesc
has no columns.
§Note
Internally we represent a Row
as a StructArray
which is
required to have at least one field. Instead of handling this case by
adding some special “internal” column we let a higher level encoder
(e.g. SourceDataColumnarEncoder
) handle this case.
Trait Implementations§
source§impl ColumnEncoder<Row> for RowColumnarEncoder
impl ColumnEncoder<Row> for RowColumnarEncoder
§type FinishedColumn = StructArray
type FinishedColumn = StructArray
Type of column that this encoder returns when finalized.
source§fn append_null(&mut self)
fn append_null(&mut self)
Appends a null value onto this encoder.
source§fn finish(self) -> Self::FinishedColumn
fn finish(self) -> Self::FinishedColumn
Finish this encoder, returning an immutable column and statistics.
Auto Trait Implementations§
impl Freeze for RowColumnarEncoder
impl RefUnwindSafe for RowColumnarEncoder
impl Send for RowColumnarEncoder
impl Sync for RowColumnarEncoder
impl Unpin for RowColumnarEncoder
impl UnwindSafe for RowColumnarEncoder
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
.