[ https://issues.apache.org/jira/browse/ARROW-14067?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Keane updated ARROW-14067: ----------------------------------- Fix Version/s: (was: 9.0.0) > [R] Add error handling to C++ compute functions listed via > list_compute_functions() which don't have bindings in R or options not > supplied by user > -------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: ARROW-14067 > URL: https://issues.apache.org/jira/browse/ARROW-14067 > Project: Apache Arrow > Issue Type: Improvement > Components: R > Reporter: Nicola Crane > Priority: Major > > Currently we have the function {{list_compute_functions()}} which lists all > available Arrow compute functions. However, it can return functions which > have been implemented in C++ but don't yet have bindings in R. > A recent ticket implemented (nearly) all of the remaining compute functions > without bound options at that moment, but more could appear. > Currently the error message shown is: > {code:java} > library(dplyr) > library(arrow) # 5.0.0.2 > Table$create(tibble::tibble(Species = c("versicolor", "virginica", > "setosa"))) %>% > mutate(x = arrow_utf8_trim(Species, options = list(characters = "a"))) > ## Error: Invalid: Attempted to initialize KernelState from null > FunctionOptions > {code} > We should catch this and instead raise a more user-friendly error. > Also, if a valid function is called without options supplied, we get a > {{could not find function}} error: > {code:java} > library(dplyr) > library(arrow) # dev > Table$create(tibble::tibble(Species = c("versicolor", "virginica", > "setosa"))) %>% > mutate(x = arrow_utf8_trim(Species)) > ## Error in arrow_utf8_trim(Species) : could not find function > "arrow_utf8_trim" > {code} > It'd be great to instead inform the user that the correct options haven't > been supplied. -- This message was sent by Atlassian Jira (v8.20.10#820010)