Commits


Mike Seddon authored and Andrew Lamb committed c4ee53626f9
ARROW-10356: [Rust][DataFusion] Add support for is_in This PR is a work-in-progress simple implementation of `InList` (`'ABC' IN ('ABC', 'DEF')`) which currently only operates on strings. It uses the `kernels::comparison::contains` implementation but there are a few issues I am struggling with: 1. `kernels::comparison::contains` allows each value in the input array to match against potentially different value arrays. My implementation is very inefficiently creating the same array n times to prevent the error of mismatched input lengths (https://github.com/apache/arrow/blob/master/rust/arrow/src/compute/kernels/comparison.rs#L696). Is there a more efficient way to create these `ListArray`s? 2. `kernels::comparison::contains` returns `false` if either of the comparison values is `null`. Is this the desired behavior? If not I can modify the kernel to return null instead. 3. If the basic implementation looks correct I can add the rest of the data types (via macros). Closes #9038 from seddonm1/in-list Authored-by: Mike Seddon <seddonm1@gmail.com> Signed-off-by: Andrew Lamb <andrew@nerdnetworks.org>