Uh oh!
There was an error while loading. Please reload this page.
ARROW-12946: [C++] String swap case kernel - #10855
Conversation
edponce
commented
Aug 2, 2021
LGTM. Need to add implementation for UTF8. |
Uh oh!
There was an error while loading. Please reload this page.
pitrou
left a comment
There was a problem hiding this comment.
Thanks for doing this! Just a couple comments.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Christian8491
commented
Aug 3, 2021
@lidavidm please enable CI |
Uh oh!
There was an error while loading. Please reload this page.
For CI, it appears that Ubuntu 20.04 provides utf8proc 2.5, but the isupper/islower functions are not provided until 2.6: https://juliastrings.github.io/utf8proc/releases/ Meanwhile, RTools35 is using utf8proc 2.4; it builds utf8proc from source due to some other issue, but I believe it's using the system headers anyways looking at the compiler command since the system headers come before the self-built utf8proc ones. I think bumping the minimum utf8proc version and fiddling with the build flags so that the utf8proc headers take precedence will be needed. |
edponce
commented
Aug 3, 2021
An alternative solution is to use helper functions already available, refer to https://github.com/apache/arrow/blob/master/cpp/src/arrow/compute/kernels/scalar_string.cc#L1391-L1408 Related notes in Arrow w.r.t. to lower/upper casing of UTF8 can be found in: |
nealrichardson
commented
Aug 3, 2021
Yeah the logs say which doesn't make sense. |
Christian8491
commented
Aug 4, 2021
As @edponce suggested, I replaced some |
edponce
commented
Aug 5, 2021
Some tests invoke the incorrect kernel (ASCII test uses |
This PR adds
swapcasecompute kernel for string. It is similar toPython str.swapcase()