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