Enum mz_arrow_util::builder::ColBuilder
source · enum ColBuilder {
Show 21 variants
BooleanBuilder(BooleanBuilder),
Int16Builder(Int16Builder),
Int32Builder(Int32Builder),
Int64Builder(Int64Builder),
UInt8Builder(UInt8Builder),
UInt16Builder(UInt16Builder),
UInt32Builder(UInt32Builder),
UInt64Builder(UInt64Builder),
Float32Builder(Float32Builder),
Float64Builder(Float64Builder),
Date32Builder(Date32Builder),
Time64MicrosecondBuilder(Time64MicrosecondBuilder),
TimestampMicrosecondBuilder(TimestampMicrosecondBuilder),
LargeBinaryBuilder(LargeBinaryBuilder),
FixedSizeBinaryBuilder(FixedSizeBinaryBuilder),
StringBuilder(StringBuilder),
LargeStringBuilder(LargeStringBuilder),
Decimal128Builder(Decimal128Builder),
ListBuilder(Box<ListBuilder<ArrowColumn>>),
MapBuilder(Box<MapBuilder<StringBuilder, ArrowColumn>>),
StructBuilder(StructBuilder),
}
Expand description
An enum wrapper for all arrow builder types that we support. Used to store a builder for each column and avoid dynamic dispatch and downcasting when appending data.
Variants§
BooleanBuilder(BooleanBuilder)
Int16Builder(Int16Builder)
Int32Builder(Int32Builder)
Int64Builder(Int64Builder)
UInt8Builder(UInt8Builder)
UInt16Builder(UInt16Builder)
UInt32Builder(UInt32Builder)
UInt64Builder(UInt64Builder)
Float32Builder(Float32Builder)
Float64Builder(Float64Builder)
Date32Builder(Date32Builder)
Time64MicrosecondBuilder(Time64MicrosecondBuilder)
TimestampMicrosecondBuilder(TimestampMicrosecondBuilder)
LargeBinaryBuilder(LargeBinaryBuilder)
FixedSizeBinaryBuilder(FixedSizeBinaryBuilder)
StringBuilder(StringBuilder)
LargeStringBuilder(LargeStringBuilder)
Decimal128Builder(Decimal128Builder)
ListBuilder(Box<ListBuilder<ArrowColumn>>)
ListBuilder & MapBuilder are handled separately than other builder types since they uses generic parameters for the inner types, and are boxed to avoid recursive type definitions.
MapBuilder(Box<MapBuilder<StringBuilder, ArrowColumn>>)
StructBuilder(StructBuilder)
StructBuilder is handled separately since its append_null()
method must be
overriden to both append nulls to all field builders and to append a null to
the struct. It’s unclear why arrow-rs
implemented this differently than
ListBuilder and MapBuilder.
Implementations§
source§impl ColBuilder
impl ColBuilder
fn append_null(&mut self)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ColBuilder
impl !RefUnwindSafe for ColBuilder
impl Send for ColBuilder
impl Sync for ColBuilder
impl Unpin for ColBuilder
impl !UnwindSafe for ColBuilder
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
.