pub struct PrimitiveBuilder<T>where
T: ArrowPrimitiveType,{
values_builder: BufferBuilder<<T as ArrowPrimitiveType>::Native>,
null_buffer_builder: NullBufferBuilder,
data_type: DataType,
}
Expand description
Builder for PrimitiveArray
Fields§
§values_builder: BufferBuilder<<T as ArrowPrimitiveType>::Native>
§null_buffer_builder: NullBufferBuilder
§data_type: DataType
Implementations§
§impl<T> PrimitiveBuilder<T>where
T: ArrowPrimitiveType,
impl<T> PrimitiveBuilder<T>where
T: ArrowPrimitiveType,
pub fn new() -> PrimitiveBuilder<T>
pub fn new() -> PrimitiveBuilder<T>
Creates a new primitive array builder
pub fn with_capacity(capacity: usize) -> PrimitiveBuilder<T>
pub fn with_capacity(capacity: usize) -> PrimitiveBuilder<T>
Creates a new primitive array builder with capacity no of items
pub fn new_from_buffer(
values_buffer: MutableBuffer,
null_buffer: Option<MutableBuffer>,
) -> PrimitiveBuilder<T>
pub fn new_from_buffer( values_buffer: MutableBuffer, null_buffer: Option<MutableBuffer>, ) -> PrimitiveBuilder<T>
Creates a new primitive array builder from buffers
pub fn with_data_type(self, data_type: DataType) -> PrimitiveBuilder<T>
pub fn with_data_type(self, data_type: DataType) -> PrimitiveBuilder<T>
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
pub fn append_value(&mut self, v: <T as ArrowPrimitiveType>::Native)
pub fn append_value(&mut self, v: <T as ArrowPrimitiveType>::Native)
Appends a value of type T
into the builder
pub fn append_value_n(&mut self, v: <T as ArrowPrimitiveType>::Native, n: usize)
pub fn append_value_n(&mut self, v: <T as ArrowPrimitiveType>::Native, n: usize)
Appends a value of type T
into the builder n
times
pub fn append_null(&mut self)
pub fn append_null(&mut self)
Appends a null slot into the builder
pub fn append_nulls(&mut self, n: usize)
pub fn append_nulls(&mut self, n: usize)
Appends n
no. of null’s into the builder
pub fn append_option(&mut self, v: Option<<T as ArrowPrimitiveType>::Native>)
pub fn append_option(&mut self, v: Option<<T as ArrowPrimitiveType>::Native>)
Appends an Option<T>
into the builder
pub fn append_slice(&mut self, v: &[<T as ArrowPrimitiveType>::Native])
pub fn append_slice(&mut self, v: &[<T as ArrowPrimitiveType>::Native])
Appends a slice of type T
into the builder
pub fn append_values(
&mut self,
values: &[<T as ArrowPrimitiveType>::Native],
is_valid: &[bool],
)
pub fn append_values( &mut self, values: &[<T as ArrowPrimitiveType>::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
pub unsafe fn append_trusted_len_iter(
&mut self,
iter: impl IntoIterator<Item = <T as ArrowPrimitiveType>::Native>,
)
pub unsafe fn append_trusted_len_iter( &mut self, iter: impl IntoIterator<Item = <T as ArrowPrimitiveType>::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.
pub fn finish(&mut self) -> PrimitiveArray<T>
pub fn finish(&mut self) -> PrimitiveArray<T>
Builds the PrimitiveArray
and reset this builder.
pub fn finish_cloned(&self) -> PrimitiveArray<T>
pub fn finish_cloned(&self) -> PrimitiveArray<T>
Builds the PrimitiveArray
without resetting the builder.
pub fn values_slice(&self) -> &[<T as ArrowPrimitiveType>::Native]
pub fn values_slice(&self) -> &[<T as ArrowPrimitiveType>::Native]
Returns the current values buffer as a slice
pub fn values_slice_mut(&mut self) -> &mut [<T as ArrowPrimitiveType>::Native]
pub fn values_slice_mut(&mut self) -> &mut [<T as ArrowPrimitiveType>::Native]
Returns the current values buffer as a mutable slice
pub fn validity_slice(&self) -> Option<&[u8]>
pub fn validity_slice(&self) -> Option<&[u8]>
Returns the current null buffer as a slice
pub 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
pub fn slices_mut(
&mut self,
) -> (&mut [<T as ArrowPrimitiveType>::Native], Option<&mut [u8]>)
pub fn slices_mut( &mut self, ) -> (&mut [<T as ArrowPrimitiveType>::Native], Option<&mut [u8]>)
Returns the current values buffer and null buffer as a slice
§impl<P> PrimitiveBuilder<P>where
P: DecimalType,
impl<P> PrimitiveBuilder<P>where
P: DecimalType,
pub fn with_precision_and_scale(
self,
precision: u8,
scale: i8,
) -> Result<PrimitiveBuilder<P>, ArrowError>
pub fn with_precision_and_scale( self, precision: u8, scale: i8, ) -> Result<PrimitiveBuilder<P>, ArrowError>
Sets the precision and scale
§impl<P> PrimitiveBuilder<P>where
P: ArrowTimestampType,
impl<P> PrimitiveBuilder<P>where
P: ArrowTimestampType,
pub fn with_timezone(self, timezone: impl Into<Arc<str>>) -> PrimitiveBuilder<P>
pub fn with_timezone(self, timezone: impl Into<Arc<str>>) -> PrimitiveBuilder<P>
Sets the timezone
pub fn with_timezone_opt<S>(self, timezone: Option<S>) -> PrimitiveBuilder<P>
pub fn with_timezone_opt<S>(self, timezone: Option<S>) -> PrimitiveBuilder<P>
Sets an optional timezone
Trait Implementations§
§impl<T> ArrayBuilder for PrimitiveBuilder<T>where
T: ArrowPrimitiveType,
impl<T> ArrayBuilder for PrimitiveBuilder<T>where
T: ArrowPrimitiveType,
§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Returns the builder as a mutable Any
reference.
§fn into_box_any(self: Box<PrimitiveBuilder<T>>) -> Box<dyn Any>
fn into_box_any(self: Box<PrimitiveBuilder<T>>) -> Box<dyn Any>
Returns the boxed builder as a box of Any
.
§fn finish_cloned(&self) -> Arc<dyn Array>
fn finish_cloned(&self) -> Arc<dyn Array>
Builds the array without resetting the builder.
§impl<T> Debug for PrimitiveBuilder<T>
impl<T> Debug for PrimitiveBuilder<T>
§impl<T> Default for PrimitiveBuilder<T>where
T: ArrowPrimitiveType,
impl<T> Default for PrimitiveBuilder<T>where
T: ArrowPrimitiveType,
§fn default() -> PrimitiveBuilder<T>
fn default() -> PrimitiveBuilder<T>
§impl<P> Extend<Option<<P as ArrowPrimitiveType>::Native>> for PrimitiveBuilder<P>where
P: ArrowPrimitiveType,
impl<P> Extend<Option<<P as ArrowPrimitiveType>::Native>> for PrimitiveBuilder<P>where
P: ArrowPrimitiveType,
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
)Auto Trait Implementations§
impl<T> Freeze for PrimitiveBuilder<T>
impl<T> RefUnwindSafe for PrimitiveBuilder<T>
impl<T> Send for PrimitiveBuilder<T>
impl<T> Sync for PrimitiveBuilder<T>
impl<T> Unpin for PrimitiveBuilder<T>
impl<T> UnwindSafe for PrimitiveBuilder<T>
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> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moresource§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>
T
in a tonic::Request
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.