Function datafusion_common::utils::find_bisect_point
source · pub fn find_bisect_point<F>(
item_columns: &[ArrayRef],
target: &[ScalarValue],
compare_fn: F,
low: usize,
high: usize
) -> Result<usize>where
F: Fn(&[ScalarValue], &[ScalarValue]) -> Result<bool>,
Expand description
This function searches for a tuple of given values (target
) among a slice of
the given rows (item_columns
) using the bisection algorithm. The slice starts
at the index low
and ends at the index high
. The boolean-valued function
compare_fn
specifies whether we bisect on the left (by returning false
),
or on the right (by returning true
) when we compare the target value with
the current value as we iteratively bisect the input.