pub struct PrimitiveBuilder<T: ArrowPrimitiveType> {
values_builder: BufferBuilder<T::Native>,
null_buffer_builder: NullBufferBuilder,
data_type: DataType,
}
Expand description
Builder for PrimitiveArray
Fields§
§values_builder: BufferBuilder<T::Native>
§null_buffer_builder: NullBufferBuilder
§data_type: DataType
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_value_n(&mut self, v: T::Native, n: usize)
pub fn append_value_n(&mut self, v: T::Native, n: usize)
Appends a value of type T
into the builder n
times
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
)