You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Jonathan Keane (Jira)" <ji...@apache.org> on 2021/12/09 16:19:00 UTC

[jira] [Commented] (ARROW-13370) [R] More special handling for known errors in arrow_eval

    [ https://issues.apache.org/jira/browse/ARROW-13370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17456541#comment-17456541 ] 

Jonathan Keane commented on ARROW-13370:
----------------------------------------

This might be better as a separate issue, but we also could improve our not implemented messages that helps narrow down what has gone wrong. 

For example {{mutate(col = ifelse(col %in% unique(table$var), ...)}} will fail not because of `ifelse` but because of unique, but we reference the whole expression:

{code}
 Error: Expression ifelse(col %in% unique(df$other_col), ... not supported in Arrow
Call collect() first to pull data into R. 
{code}

Which can lead folks to think that {{ifelse}} doesn't work, when really it's the {{unique()}} bit (which for this isn't even needed)

> [R] More special handling for known errors in arrow_eval
> --------------------------------------------------------
>
>                 Key: ARROW-13370
>                 URL: https://issues.apache.org/jira/browse/ARROW-13370
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: R
>            Reporter: Neal Richardson
>            Priority: Major
>             Fix For: 7.0.0
>
>
> We have special handling in arrow_eval that looks for the "not supported in Arrow" error, and when that's found it shows the error message rather than swallowing it in an "Expression not supported" message. But we have other error messages we raise in nse_funcs that are worth showing--bad input etc. Use a sentinel error message that we can also detect and subclass as "arrow-try-error" like the others, or (better) raised a classed exception (if that's supported in all versions of R we support). 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)