pub(crate) enum ColumnBuilder {
Str(StringBuilder),
Int16(Int16Builder),
Int32(Int32Builder),
Float32(Float32Builder),
Float64(Float64Builder),
Date32(Date32Builder),
TimestampSecond(TimestampSecondBuilder),
TimestampMillisecond(TimestampMillisecondBuilder),
TimestampMicrosecond(TimestampMicrosecondBuilder),
TimestampNanosecond(TimestampNanosecondBuilder),
Time32Second(Time32SecondBuilder),
Time64Microsecond(Time64MicrosecondBuilder),
}Expand description
A typed Arrow array builder for a single column.
Each variant wraps the corresponding Arrow builder, pre-sized with capacity
hints from the metadata (row count, string storage_width). Values are
appended directly during FFI callbacks, eliminating intermediate allocations.
Variants§
Str(StringBuilder)
UTF-8 string column.
Int16(Int16Builder)
16-bit signed integer column (covers both SAS Int8 and Int16).
Int32(Int32Builder)
32-bit signed integer column.
Float32(Float32Builder)
32-bit floating point column.
Float64(Float64Builder)
64-bit floating point column.
Date32(Date32Builder)
Date column (days since Unix epoch).
TimestampSecond(TimestampSecondBuilder)
Timestamp with second precision.
TimestampMillisecond(TimestampMillisecondBuilder)
Timestamp with millisecond precision.
TimestampMicrosecond(TimestampMicrosecondBuilder)
Timestamp with microsecond precision.
TimestampNanosecond(TimestampNanosecondBuilder)
Timestamp with nanosecond precision.
Time32Second(Time32SecondBuilder)
Time of day with second precision.
Time64Microsecond(Time64MicrosecondBuilder)
Time of day with microsecond precision.
Implementations§
Source§impl ColumnBuilder
impl ColumnBuilder
Sourcepub(crate) fn as_string_mut(&mut self) -> &mut StringBuilder
pub(crate) fn as_string_mut(&mut self) -> &mut StringBuilder
Returns a mutable reference to the inner [StringBuilder].
§Panics
Panics if self is not ColumnBuilder::Str.
Sourcepub(crate) fn append_null(&mut self)
pub(crate) fn append_null(&mut self)
Appends a null value, regardless of the underlying builder type.
Sourcepub(crate) fn finish(&mut self) -> ArrayRef
pub(crate) fn finish(&mut self) -> ArrayRef
Finishes the builder and returns the completed Arrow array.
Sourcefn from_metadata(vm: &ReadStatVarMetadata, capacity: usize) -> Self
fn from_metadata(vm: &ReadStatVarMetadata, capacity: usize) -> Self
Creates a typed builder matching the variable’s metadata.
Uses var_type, var_type_class, and var_format_class to select the
correct builder variant, and pre-sizes it with capacity rows.
For string columns, storage_width provides a byte-level capacity hint.
Auto Trait Implementations§
impl Freeze for ColumnBuilder
impl RefUnwindSafe for ColumnBuilder
impl Send for ColumnBuilder
impl Sync for ColumnBuilder
impl Unpin for ColumnBuilder
impl UnwindSafe for ColumnBuilder
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more