Skip to main content

TakeExecute

Trait TakeExecute 

Source
pub trait TakeExecute: VTable {
    // Required method
    fn take(
        array: &Self::Array,
        indices: &ArrayRef,
        ctx: &mut ExecutionCtx,
    ) -> VortexResult<Option<ArrayRef>>;
}

Required Methods§

Source

fn take( array: &Self::Array, indices: &ArrayRef, ctx: &mut ExecutionCtx, ) -> VortexResult<Option<ArrayRef>>

Take elements from an array at the given indices, potentially reading buffers.

Unlike TakeReduce, this trait is for take implementations that may need to read and execute on the underlying buffers to produce the result.

§Preconditions

The indices are guaranteed to be non-empty.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl TakeExecute for BoolVTable

Source§

impl TakeExecute for ChunkedVTable

Source§

impl TakeExecute for DecimalVTable

Source§

impl TakeExecute for DictVTable

Source§

impl TakeExecute for ExtensionVTable

Source§

impl TakeExecute for FixedSizeListVTable

Take implementation for FixedSizeListArray.

Unlike ListView, FixedSizeListArray must rebuild the elements array because it requires that elements start at offset 0 and be perfectly packed without gaps. We expand list indices into element indices and push them down to the child elements array.

Source§

impl TakeExecute for ListVTable

Source§

impl TakeExecute for PrimitiveVTable

Source§

impl TakeExecute for VarBinVTable

Source§

impl TakeExecute for VarBinViewVTable