Struct InProgressPrimitiveArray

Source
pub(crate) struct InProgressPrimitiveArray<T: ArrowPrimitiveType> {
    source: Option<ArrayRef>,
    batch_size: usize,
    nulls: NullBufferBuilder,
    current: Vec<T::Native>,
}
Expand description

InProgressArray for [PrimitiveArray]

Fields§

§source: Option<ArrayRef>

The current source, if any

§batch_size: usize

the target batch size (and thus size for views allocation)

§nulls: NullBufferBuilder

In progress nulls

§current: Vec<T::Native>

The currently in progress array

Implementations§

Source§

impl<T: ArrowPrimitiveType> InProgressPrimitiveArray<T>

Source

pub(crate) fn new(batch_size: usize) -> Self

Create a new InProgressPrimitiveArray

Source

fn ensure_capacity(&mut self)

Allocate space for output values if necessary.

This is done on write (when we know it is necessary) rather than eagerly to avoid allocations that are not used.

Trait Implementations§

Source§

impl<T: Debug + ArrowPrimitiveType> Debug for InProgressPrimitiveArray<T>
where T::Native: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: ArrowPrimitiveType + Debug> InProgressArray for InProgressPrimitiveArray<T>

Source§

fn set_source(&mut self, source: Option<ArrayRef>)

Set the source array. Read more
Source§

fn copy_rows(&mut self, offset: usize, len: usize) -> Result<(), ArrowError>

Copy rows from the current source array into the in-progress array Read more
Source§

fn finish(&mut self) -> Result<ArrayRef, ArrowError>

Finish the currently in-progress array and return it as an ArrayRef

Auto Trait Implementations§

§

impl<T> Freeze for InProgressPrimitiveArray<T>

§

impl<T> !RefUnwindSafe for InProgressPrimitiveArray<T>

§

impl<T> Send for InProgressPrimitiveArray<T>

§

impl<T> Sync for InProgressPrimitiveArray<T>

§

impl<T> Unpin for InProgressPrimitiveArray<T>
where <T as ArrowPrimitiveType>::Native: Unpin,

§

impl<T> !UnwindSafe for InProgressPrimitiveArray<T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.