ianmcook commented on a change in pull request #9586:
URL: https://github.com/apache/arrow/pull/9586#discussion_r588621424



##########
File path: r/R/dplyr.R
##########
@@ -539,6 +537,13 @@ mutate.arrow_dplyr_query <- function(.data,
     if (inherits(results[[new_var]], "try-error")) {
       msg <- paste('Expression', as_label(exprs[[i]]), 'not supported in 
Arrow')
       return(abandon_ship(call, .data, msg))
+    } else if (is_dataset && !inherits(results[[new_var]], "Expression")) {
+      # We need some wrapping to handle literal values
+      if (length(results[[new_var]]) != 1) {
+        msg <- paste0('In ', new_var, " = ", as_label(exprs[[i]]), ", only 
values of size one are recycled")

Review comment:
       > Why would one ever call `transmute()` or `mutate()` like this (on 
purpose)?
   
   An increasing amount of dplyr code is programmatically generated, not 
hand-written. It's quite common to have empty lists and `NULL` values getting 
passed to verbs in such cases.
   
   Also, this could happen by accident if a variable has a `NULL` value and 
then it's used in the `mutate()` expression.




----------------------------------------------------------------
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


Reply via email to