Periecle opened a new pull request, #49964:
URL: https://github.com/apache/arrow/pull/49964
### Rationale for this change
`pyarrow.compute.equal` fails for `pa.binary_view()` arrays because C++
compute has no registered comparison kernel for `(binary_view, binary_view)`.
This fixes that missing kernel path and also enables the same comparisons
for `utf8_view`.
### What changes are included in this PR?
This adds comparison kernel support for `binary_view` and `utf8_view`.
The following functions now work for same-type inputs:
- `equal`
- `not_equal`
- `greater`
- `greater_equal`
- `less`
- `less_equal`
### Are these changes tested?
Added C++ tests covering:
- inline and out-of-line values
- nulls
- sliced arrays
- array-array comparisons
- array-scalar and scalar-array comparisons
- all six comparison functions
Added Python regression tests for `pa.binary_view()` and
`pa.string_view()`.
Verified the same cases fail before this patch at `ga0d2885b1` with
`ArrowNotImplementedError: no kernel matching input types`.
### Are there any user-facing changes?
`pyarrow.compute` comparison functions now work for `pa.binary_view()` and
`pa.string_view()` arrays where they previously failed with a missing kernel
error.
Addresses: GH-46856
--
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]