Skip to main content

InProgressDictionaryArray

Struct InProgressDictionaryArray 

Source
struct InProgressDictionaryArray<K: ArrowDictionaryKeyType> {
    source: Option<ArrayRef>,
    len: usize,
    empty_values: ArrayRef,
    sources: Vec<ArrayRef>,
    source_ids: HashMap<usize, usize, RandomState>,
    chunks: Vec<KeyChunk<K>>,
}

Fields§

§source: Option<ArrayRef>

Dictionary currently selected by InProgressArray::set_source.

§len: usize

Number of output rows retained across chunks.

§empty_values: ArrayRef

Typed empty values array used when finishing without any rows.

§sources: Vec<ArrayRef>

Distinct dictionary values arrays retained by buffer identity.

§source_ids: HashMap<usize, usize, RandomState>

Maps each retained values Arc address to its index in sources.

§chunks: Vec<KeyChunk<K>>

Zero-copy key slices in output order, tagged with their values source.

Implementations§

Source§

impl<K: ArrowDictionaryKeyType> InProgressDictionaryArray<K>

Source

fn new(value_type: &DataType) -> Self

Source

fn source_id(&mut self, values: ArrayRef) -> usize

Returns a stable index for values, reusing a source when either its Arc pointer or its backing buffer pointers match.

Source

fn merge_sources( sources: &[ArrayRef], chunks: &[KeyChunk<K>], len: usize, ) -> Result<(Vec<K::Native>, ArrayRef), ArrowError>

Compacts referenced values and remaps source-local keys while preserving chunk order. Equal referenced values are only deduplicated when their count would overflow K’s key space.

Source

fn build_nulls(chunks: &[KeyChunk<K>], len: usize) -> Option<NullBuffer>

Concatenates chunk validity in output order, omitting it when all keys are valid.

Trait Implementations§

Source§

impl<K: ArrowDictionaryKeyType> Debug for InProgressDictionaryArray<K>

Source§

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

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

impl<K: ArrowDictionaryKeyType> InProgressArray for InProgressDictionaryArray<K>

Source§

fn size(&self) -> usize

Estimates memory retained by the source, value arrays, key slices, and bookkeeping.

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
Source§

fn copy_rows_by_filter( &mut self, filter: &FilterPredicate, ) -> Result<(), ArrowError>

Copy rows selected by filter from the current source array. Read more
Source§

fn copy_rows_by_filter_from( &mut self, source: ArrayRef, filter: &FilterPredicate, ) -> Result<(), ArrowError>

Copy rows selected by a FilterPredicate from source. Read more
Source§

fn copy_rows_by_selection( &mut self, selection: FilterSelection<'_>, ) -> Result<(), ArrowError>

Copy rows described by a FilterSelection from the current source array. Read more

Auto Trait Implementations§

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.