pub struct PrimitiveGroupValueBuilder<T, const NULLABLE: bool>where
T: ArrowPrimitiveType,{
data_type: DataType,
group_values: Vec<<T as ArrowPrimitiveType>::Native>,
nulls: MaybeNullBufferBuilder,
}Expand description
An implementation of GroupColumn for primitive values
Optimized to skip null buffer construction if the input is known to be non nullable
§Template parameters
T: the native Rust type that stores the data
NULLABLE: if the data can contain any nulls
Fields§
§data_type: DataType§group_values: Vec<<T as ArrowPrimitiveType>::Native>§nulls: MaybeNullBufferBuilderImplementations§
Source§impl<T, const NULLABLE: bool> PrimitiveGroupValueBuilder<T, NULLABLE>where
T: ArrowPrimitiveType,
impl<T, const NULLABLE: bool> PrimitiveGroupValueBuilder<T, NULLABLE>where
T: ArrowPrimitiveType,
Sourcepub fn new(data_type: DataType) -> PrimitiveGroupValueBuilder<T, NULLABLE>
pub fn new(data_type: DataType) -> PrimitiveGroupValueBuilder<T, NULLABLE>
Create a new PrimitiveGroupValueBuilder
Trait Implementations§
Source§impl<T, const NULLABLE: bool> Debug for PrimitiveGroupValueBuilder<T, NULLABLE>
impl<T, const NULLABLE: bool> Debug for PrimitiveGroupValueBuilder<T, NULLABLE>
Source§impl<T, const NULLABLE: bool> GroupColumn for PrimitiveGroupValueBuilder<T, NULLABLE>where
T: ArrowPrimitiveType,
impl<T, const NULLABLE: bool> GroupColumn for PrimitiveGroupValueBuilder<T, NULLABLE>where
T: ArrowPrimitiveType,
Source§fn equal_to(
&self,
lhs_row: usize,
array: &Arc<dyn Array>,
rhs_row: usize,
) -> bool
fn equal_to( &self, lhs_row: usize, array: &Arc<dyn Array>, rhs_row: usize, ) -> bool
Returns equal if the row stored in this builder at
lhs_row is equal to
the row in array at rhs_row Read moreSource§fn append_val(
&mut self,
array: &Arc<dyn Array>,
row: usize,
) -> Result<(), DataFusionError>
fn append_val( &mut self, array: &Arc<dyn Array>, row: usize, ) -> Result<(), DataFusionError>
Appends the row at
row in array to this builderSource§fn vectorized_equal_to(
&self,
lhs_rows: &[usize],
array: &Arc<dyn Array>,
rhs_rows: &[usize],
equal_to_results: &mut [bool],
)
fn vectorized_equal_to( &self, lhs_rows: &[usize], array: &Arc<dyn Array>, rhs_rows: &[usize], equal_to_results: &mut [bool], )
The vectorized version equal to Read more
Source§fn vectorized_append(
&mut self,
array: &Arc<dyn Array>,
rows: &[usize],
) -> Result<(), DataFusionError>
fn vectorized_append( &mut self, array: &Arc<dyn Array>, rows: &[usize], ) -> Result<(), DataFusionError>
The vectorized version
append_valSource§fn size(&self) -> usize
fn size(&self) -> usize
Returns the number of bytes used by this
GroupColumnSource§fn build(self: Box<PrimitiveGroupValueBuilder<T, NULLABLE>>) -> Arc<dyn Array>
fn build(self: Box<PrimitiveGroupValueBuilder<T, NULLABLE>>) -> Arc<dyn Array>
Builds a new array from all of the stored rows
Auto Trait Implementations§
impl<T, const NULLABLE: bool> Freeze for PrimitiveGroupValueBuilder<T, NULLABLE>
impl<T, const NULLABLE: bool> RefUnwindSafe for PrimitiveGroupValueBuilder<T, NULLABLE>
impl<T, const NULLABLE: bool> Send for PrimitiveGroupValueBuilder<T, NULLABLE>
impl<T, const NULLABLE: bool> Sync for PrimitiveGroupValueBuilder<T, NULLABLE>
impl<T, const NULLABLE: bool> Unpin for PrimitiveGroupValueBuilder<T, NULLABLE>
impl<T, const NULLABLE: bool> UnwindSafe for PrimitiveGroupValueBuilder<T, NULLABLE>
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
§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>
Converts
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>
Converts
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