pitrou commented on code in PR #45272:
URL: https://github.com/apache/arrow/pull/45272#discussion_r1934023851
##########
cpp/src/arrow/compute/kernels/scalar_compare.cc:
##########
@@ -445,6 +445,14 @@ std::shared_ptr<ScalarFunction>
MakeCompareFunction(std::string name, FunctionDo
DCHECK_OK(func->AddKernel({ty, ty}, boolean(), std::move(exec)));
}
+ if constexpr (std::is_same_v<Op, Equal> || std::is_same_v<Op, NotEqual>) {
+ for (const auto id : {Type::LIST, Type::LARGE_LIST}) {
+ auto exec = GenerateList<applicator::ScalarBinaryEqualTypes,
BooleanType, Op>(id);
Review Comment:
> With what you are suggesting, I'm guessing I should be creating a new
registry function along with that like `RegisterRangeComparison` right?
I think we can avoid that by directly calling into `RangeDataEqualsImpl`.
> Also I'm guessing the RangeDataEqualsImpl is supposed to work when
comparing two arrays, but not when comparing an array with a scalar
A list scalar's value is actually an array, so that should not necessarily
be a problem.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]