Skip to main content

TakeExecute

Trait TakeExecute 

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

Required Methods§

Source

fn take( array: ArrayView<'_, Self>, 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".

Implementors§

Source§

impl TakeExecute for Bool

Source§

impl TakeExecute for Chunked

Source§

impl TakeExecute for Decimal

Source§

impl TakeExecute for Dict

Source§

impl TakeExecute for Extension

Source§

impl TakeExecute for Filter

Source§

impl TakeExecute for FixedSizeList

Take implementation for FixedSizeListArray.

FixedSizeListArray must rebuild its elements array because selected lists need to become packed from offset 0. The FSL layer translates selected list rows into ordered element runs and delegates the execution strategy to the elements child via PiecewiseSequenceArray indices.

Source§

impl TakeExecute for List

Source§

impl TakeExecute for ListView

Execution-path take for ListViewArray.

Source§

impl TakeExecute for Patched

Source§

impl TakeExecute for Primitive

Source§

impl TakeExecute for VarBin

Source§

impl TakeExecute for VarBinView