[
https://issues.apache.org/jira/browse/ARROW-13866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nic Crane updated ARROW-13866:
------------------------------
Description:
Not all of the compute kernels available via {{list_compute_functions()}} are
actually available to use in R, as they haven't been hooked up to the relevant
Options class in {{r/src/compute.cpp}}.
We should:
# Implement all remaining options classes
# Go through all the kernels listed by {{list_compute_functions()}} and check
that they have either no options classes to implement or that they have been
hooked up to the appropriate options class
was:
I'm writing a section in the cookbook about calling kernels which don't have R
bindings. I'm using {{utf8_ltrim}} as an example - it appears when we call
{{list_compute_functions()}}. I tried to call it by searching for it in the
C++ code, seeing that it requires a TrimOptions class of options, and then saw
that it has a single parameter, characters.
I tried calling {{call_function("utf8_ltrim", Array$create(c("abc", "abacus",
"abracadabra")), options = list(characters = "ab"))}} to see what would happen,
which resulted in:
{{Error: Invalid: Attempted to initialize KernelState from null
FunctionOptions}}
This is because TrimOptions isn't implemented in arrow/r/src/compute.cpp. We
should go through all the compute functions listed via
{{list_compute_functions()}} and ensure all of them have options implemented.
> [R] Implement Options for all compute kernels available via
> list_compute_functions
> ----------------------------------------------------------------------------------
>
> Key: ARROW-13866
> URL: https://issues.apache.org/jira/browse/ARROW-13866
> Project: Apache Arrow
> Issue Type: Improvement
> Components: R
> Reporter: Nic Crane
> Assignee: Nic Crane
> Priority: Major
>
> Not all of the compute kernels available via {{list_compute_functions()}} are
> actually available to use in R, as they haven't been hooked up to the
> relevant Options class in {{r/src/compute.cpp}}.
> We should:
> # Implement all remaining options classes
> # Go through all the kernels listed by {{list_compute_functions()}} and
> check that they have either no options classes to implement or that they have
> been hooked up to the appropriate options class
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)