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] }
.