This is an automated email from the ASF dual-hosted git repository. wesm pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push: new cc5b445 ARROW-3784: [R] Array with type fails with x is not a vector cc5b445 is described below commit cc5b44563002474ffa69c2fb7db7d0b3564e10b1 Author: Romain Francois <rom...@purrple.cat> AuthorDate: Thu Nov 15 13:31:09 2018 -0500 ARROW-3784: [R] Array with type fails with x is not a vector closes #2956 using a better approach. This reserves the `type` argument for when we'll really use it. ```r > library(arrow) > array(1:10, type = int16()) arrow::Array [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] Warning message: The `type` argument is currently ignored ``` Author: Romain Francois <rom...@purrple.cat> Closes #2960 from romainfrancois/ARROW-3784/array-type-arg and squashes the following commits: 10a763232 <Romain Francois> "document" the type argument 92d57a8e4 <Romain Francois> reserve the `type` argument, but just warn about it for now. --- r/NAMESPACE | 2 ++ r/R/ChunkedArray.R | 9 +++++++-- r/R/array.R | 7 ++++++- r/man/array.Rd | 4 +++- r/man/chunked_array.Rd | 4 +++- r/tests/testthat/test-Array.R | 6 ++++++ r/tests/testthat/test-chunkedarray.R | 6 ++++++ 7 files changed, 33 insertions(+), 5 deletions(-) diff --git a/r/NAMESPACE b/r/NAMESPACE index 46d40e1..93df8ff 100644 --- a/r/NAMESPACE +++ b/r/NAMESPACE @@ -148,6 +148,8 @@ importFrom(purrr,map) importFrom(purrr,map2) importFrom(purrr,map_int) importFrom(rlang,dots_n) +importFrom(rlang,list2) +importFrom(rlang,warn) importFrom(tibble,as_tibble) importFrom(withr,defer_parent) useDynLib(arrow, .registration = TRUE) diff --git a/r/R/ChunkedArray.R b/r/R/ChunkedArray.R index 69c98ba..c681fc3 100644 --- a/r/R/ChunkedArray.R +++ b/r/R/ChunkedArray.R @@ -39,8 +39,13 @@ #' create an arrow::Array from an R vector #' #' @param \dots Vectors to coerce +#' @param type currently ignored #' +#' @importFrom rlang list2 #' @export -chunked_array <- function(...){ - shared_ptr(`arrow::ChunkedArray`, ChunkedArray__from_list(rlang::list2(...))) +chunked_array <- function(..., type){ + if (!missing(type)) { + warn("The `type` argument is currently ignored") + } + shared_ptr(`arrow::ChunkedArray`, ChunkedArray__from_list(list2(...))) } diff --git a/r/R/array.R b/r/R/array.R index 869479b..bd949dc 100644 --- a/r/R/array.R +++ b/r/R/array.R @@ -63,9 +63,14 @@ #' create an arrow::Array from an R vector #' #' @param \dots Vectors to coerce +#' @param type currently ignored #' +#' @importFrom rlang warn #' @export -array <- function(...){ +array <- function(..., type){ + if (!missing(type)) { + warn("The `type` argument is currently ignored") + } `arrow::Array`$dispatch(Array__from_vector(vctrs::vec_c(...))) } diff --git a/r/man/array.Rd b/r/man/array.Rd index ed81d0c..38bd773 100644 --- a/r/man/array.Rd +++ b/r/man/array.Rd @@ -4,10 +4,12 @@ \alias{array} \title{create an arrow::Array from an R vector} \usage{ -array(...) +array(..., type) } \arguments{ \item{\dots}{Vectors to coerce} + +\item{type}{currently ignored} } \description{ create an arrow::Array from an R vector diff --git a/r/man/chunked_array.Rd b/r/man/chunked_array.Rd index 27b91cf..1f4fb83 100644 --- a/r/man/chunked_array.Rd +++ b/r/man/chunked_array.Rd @@ -4,10 +4,12 @@ \alias{chunked_array} \title{create an arrow::Array from an R vector} \usage{ -chunked_array(...) +chunked_array(..., type) } \arguments{ \item{\dots}{Vectors to coerce} + +\item{type}{currently ignored} } \description{ create an arrow::Array from an R vector diff --git a/r/tests/testthat/test-Array.R b/r/tests/testthat/test-Array.R index d06f88f..a3e5134 100644 --- a/r/tests/testthat/test-Array.R +++ b/r/tests/testthat/test-Array.R @@ -280,3 +280,9 @@ test_that("support for NaN (ARROW-3615)", { expect_true(y$IsValid(2)) expect_equal(y$null_count(), 1L) }) + +test_that("array ignores the type argument (ARROW-3784)", { + a <- expect_warning(array(1:10, type = int16())) + b <- array(1:10) + expect_equal(a, b) +}) diff --git a/r/tests/testthat/test-chunkedarray.R b/r/tests/testthat/test-chunkedarray.R index 088367a..fb45c99 100644 --- a/r/tests/testthat/test-chunkedarray.R +++ b/r/tests/testthat/test-chunkedarray.R @@ -159,3 +159,9 @@ test_that("ChunkedArray supports difftime", { expect_equal(a$length(), 2L) expect_equal(a$as_vector(), c(time, time)) }) + +test_that("chunked_array ignores the type argument (ARROW-3784)", { + a <- expect_warning(chunked_array(1:10, type = int16())) + b <- chunked_array(1:10) + expect_equal(a, b) +})