Struct arrow_array::builder::PrimitiveBuilder
source · pub struct PrimitiveBuilder<T: ArrowPrimitiveType> { /* private fields */ }
Expand description
Builder for PrimitiveArray
Implementations§
source§impl<T: ArrowPrimitiveType> PrimitiveBuilder<T>
impl<T: ArrowPrimitiveType> PrimitiveBuilder<T>
sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Creates a new primitive array builder with capacity no of items
sourcepub fn new_from_buffer(
values_buffer: MutableBuffer,
null_buffer: Option<MutableBuffer>,
) -> Self
pub fn new_from_buffer( values_buffer: MutableBuffer, null_buffer: Option<MutableBuffer>, ) -> Self
Creates a new primitive array builder from buffers
sourcepub fn with_data_type(self, data_type: DataType) -> Self
pub fn with_data_type(self, data_type: DataType) -> Self
By default PrimitiveBuilder
uses ArrowPrimitiveType::DATA_TYPE
as the
data type of the generated array.
This method allows overriding the data type, to allow specifying timezones
for DataType::Timestamp
or precision and scale for DataType::Decimal128
and DataType::Decimal256
§Panics
This method panics if data_type
is not PrimitiveArray::is_compatible
sourcepub fn capacity(&self) -> usize
pub fn capacity(&self) -> usize
Returns the capacity of this builder measured in slots of type T
sourcepub fn append_value(&mut self, v: T::Native)
pub fn append_value(&mut self, v: T::Native)
Appends a value of type T
into the builder
sourcepub fn append_null(&mut self)
pub fn append_null(&mut self)
Appends a null slot into the builder
sourcepub fn append_nulls(&mut self, n: usize)
pub fn append_nulls(&mut self, n: usize)
Appends n
no. of null’s into the builder
sourcepub fn append_option(&mut self, v: Option<T::Native>)
pub fn append_option(&mut self, v: Option<T::Native>)
Appends an Option<T>
into the builder
sourcepub fn append_slice(&mut self, v: &[T::Native])
pub fn append_slice(&mut self, v: &[T::Native])
Appends a slice of type T
into the builder
sourcepub fn append_values(&mut self, values: &[T::Native], is_valid: &[bool])
pub fn append_values(&mut self, values: &[T::Native], is_valid: &[bool])
Appends values from a slice of type T
and a validity boolean slice
§Panics
Panics if values
and is_valid
have different lengths
sourcepub unsafe fn append_trusted_len_iter(
&mut self,
iter: impl IntoIterator<Item = T::Native>,
)
pub unsafe fn append_trusted_len_iter( &mut self, iter: impl IntoIterator<Item = T::Native>, )
Appends values from a trusted length iterator.
§Safety
This requires the iterator be a trusted length. This could instead require
the iterator implement TrustedLen
once that is stabilized.
sourcepub fn finish(&mut self) -> PrimitiveArray<T>
pub fn finish(&mut self) -> PrimitiveArray<T>
Builds the PrimitiveArray
and reset this builder.
sourcepub fn finish_cloned(&self) -> PrimitiveArray<T>
pub fn finish_cloned(&self) -> PrimitiveArray<T>
Builds the PrimitiveArray
without resetting the builder.
sourcepub fn values_slice(&self) -> &[T::Native]
pub fn values_slice(&self) -> &[T::Native]
Returns the current values buffer as a slice
sourcepub fn values_slice_mut(&mut self) -> &mut [T::Native]
pub fn values_slice_mut(&mut self) -> &mut [T::Native]
Returns the current values buffer as a mutable slice
sourcepub fn validity_slice(&self) -> Option<&[u8]>
pub fn validity_slice(&self) -> Option<&[u8]>
Returns the current null buffer as a slice
sourcepub fn validity_slice_mut(&mut self) -> Option<&mut [u8]>
pub fn validity_slice_mut(&mut self) -> Option<&mut [u8]>
Returns the current null buffer as a mutable slice
sourcepub fn slices_mut(&mut self) -> (&mut [T::Native], Option<&mut [u8]>)
pub fn slices_mut(&mut self) -> (&mut [T::Native], Option<&mut [u8]>)
Returns the current values buffer and null buffer as a slice
source§impl<P: DecimalType> PrimitiveBuilder<P>
impl<P: DecimalType> PrimitiveBuilder<P>
sourcepub fn with_precision_and_scale(
self,
precision: u8,
scale: i8,
) -> Result<Self, ArrowError>
pub fn with_precision_and_scale( self, precision: u8, scale: i8, ) -> Result<Self, ArrowError>
Sets the precision and scale
source§impl<P: ArrowTimestampType> PrimitiveBuilder<P>
impl<P: ArrowTimestampType> PrimitiveBuilder<P>
Trait Implementations§
source§impl<T: ArrowPrimitiveType> ArrayBuilder for PrimitiveBuilder<T>
impl<T: ArrowPrimitiveType> ArrayBuilder for PrimitiveBuilder<T>
source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Returns the builder as a mutable Any
reference.
source§fn finish_cloned(&self) -> ArrayRef
fn finish_cloned(&self) -> ArrayRef
Builds the array without resetting the builder.
source§impl<T: Debug + ArrowPrimitiveType> Debug for PrimitiveBuilder<T>
impl<T: Debug + ArrowPrimitiveType> Debug for PrimitiveBuilder<T>
source§impl<T: ArrowPrimitiveType> Default for PrimitiveBuilder<T>
impl<T: ArrowPrimitiveType> Default for PrimitiveBuilder<T>
source§impl<P: ArrowPrimitiveType> Extend<Option<<P as ArrowPrimitiveType>::Native>> for PrimitiveBuilder<P>
impl<P: ArrowPrimitiveType> Extend<Option<<P as ArrowPrimitiveType>::Native>> for PrimitiveBuilder<P>
source§fn extend<T: IntoIterator<Item = Option<P::Native>>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = Option<P::Native>>>(&mut self, iter: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)