pub trait TakeExecute: VTable {
// Required method
fn take(
array: ArrayView<'_, Self>,
indices: &ArrayRef,
ctx: &mut ExecutionCtx,
) -> VortexResult<Option<ArrayRef>>;
}Required Methods§
Sourcefn take(
array: ArrayView<'_, Self>,
indices: &ArrayRef,
ctx: &mut ExecutionCtx,
) -> VortexResult<Option<ArrayRef>>
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§
impl TakeExecute for Bool
impl TakeExecute for Chunked
impl TakeExecute for Decimal
impl TakeExecute for Dict
impl TakeExecute for Extension
impl TakeExecute for Filter
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.
impl TakeExecute for List
impl TakeExecute for ListView
Execution-path take for ListViewArray.