wesm commented on a change in pull request #7357: URL: https://github.com/apache/arrow/pull/7357#discussion_r438829269
########## File path: cpp/src/arrow/compute/kernels/scalar_string.cc ########## @@ -48,6 +48,16 @@ struct AsciiUpper { } }; +struct AsciiLower { + template <typename... Ignored> + static std::string Call(KernelContext*, const util::string_view& val) { + std::string result = val.to_string(); Review comment: I'm afraid you are mistaking what is meant by "ScalarFunction" and "VectorFunction". "Scalar" and "Vector" refer to the _semantics_ of the function, not the implementation. The only requirement for these string functions is that you provide `std::function<void(KernelContext*, const ExecBatch&, Datum*)>` that implements the kernel. What is inside can be anything. The function is **still** a ScalarFunction though ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org