arrow_select::take

Function take_run

Source
fn take_run<T: RunEndIndexType, I: ArrowPrimitiveType>(
    run_array: &RunArray<T>,
    logical_indices: &PrimitiveArray<I>,
) -> Result<RunArray<T>, ArrowError>
Expand description

take implementation for run arrays

Finds physical indices for the given logical indices and builds output run array by taking values in the input run_array.values at the physical indices. The output run array will be run encoded on the physical indices and not on output values. For e.g. an input RunArray{ run_ends = [2,4,6,8], values=[1,2,1,2] } and logical_indices=[2,3,6,7] would be converted to physical_indices=[1,1,3,3] which will be used to build output RunArray{ run_ends=[2,4], values=[2,2] }.