diff --git a/NEWS.md b/NEWS.md index 8e64e2669b..a293542334 100644 --- a/NEWS.md +++ b/NEWS.md @@ -35,6 +35,10 @@ * Compilation on Linux systems as old as Ubuntu 18.04 without a `filesystem` header is now possible (#556) +## Deprecations + +* The boolean arguments `as.data.frame`, `as.matrix` and `as.array` to the `tiledb_array()` accessor are deprecated in favor of the more general `return_as="..."` form. (#567) + ## Removals * The `timestamp` argument to `tiledb_array`, deprecated in favor of `timestamp_end` (and `timestamp_start`) in July 2021, has been removed (#566). diff --git a/R/DataFrame.R b/R/DataFrame.R index f98e563079..f3f816610f 100644 --- a/R/DataFrame.R +++ b/R/DataFrame.R @@ -76,7 +76,7 @@ ##' ## turn factor into character ##' irisdf <- within(iris, Species <- as.character(Species)) ##' fromDataFrame(irisdf, uri) -##' arr <- tiledb_array(uri, as.data.frame=TRUE, sparse=FALSE) +##' arr <- tiledb_array(uri, return_as="data.frame", sparse=FALSE) ##' newdf <- arr[] ##' all.equal(iris, newdf) ##' } @@ -265,7 +265,7 @@ fromDataFrame <- function(obj, uri, col_index=NULL, sparse=TRUE, allows_dups=spa if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(obj, uri) - df <- tiledb_array(uri, as.data.frame=TRUE) + df <- tiledb_array(uri, return_as="data.frame") df[] } @@ -292,7 +292,7 @@ fromDataFrame <- function(obj, uri, col_index=NULL, sparse=TRUE, allows_dups=spa } fromDataFrame(bkdf, uri) - arr <- tiledb_array(uri, as.data.frame = TRUE) + arr <- tiledb_array(uri, return_as="data.frame") newdf <- arr[] invisible(newdf) } @@ -305,7 +305,7 @@ fromDataFrame <- function(obj, uri, col_index=NULL, sparse=TRUE, allows_dups=spa fromDataFrame(df, uri) cat("Data written\n") - arr <- tiledb_array(uri, as.data.frame = TRUE) + arr <- tiledb_array(uri, return_as="data.frame") newdf <- arr[] invisible(newdf) } diff --git a/R/SparseMatrix.R b/R/SparseMatrix.R index 3101ac06b8..20f73f373a 100644 --- a/R/SparseMatrix.R +++ b/R/SparseMatrix.R @@ -112,7 +112,7 @@ fromSparseMatrix <- function(obj, toSparseMatrix <- function(uri) { stopifnot(`Argument 'uri' must be character` = is.character(uri)) - arr <- tiledb_array(uri, as.data.frame=TRUE, query_layout="UNORDERED") + arr <- tiledb_array(uri, return_as="data.frame", query_layout="UNORDERED") obj <- arr[] dimnm <- list(NULL, NULL) # by default no dimnames diff --git a/R/TileDBArray.R b/R/TileDBArray.R index 4b2d2e27df..b7732f1393 100644 --- a/R/TileDBArray.R +++ b/R/TileDBArray.R @@ -182,6 +182,11 @@ tiledb_array <- function(uri, array_xptr <- libtiledb_array_open(ctx@ptr, uri, query_type) } + ## Deprecated July 2023, to removed by July 2024 or later + if (as.data.frame) .Deprecated(old="as.data.frame", new=r"(return_as="data.frame")") + if (as.matrix) .Deprecated(old="as.matrix", new=r"(return_as="matrix")") + if (as.array) .Deprecated(old="as.array", new=r"(return_as="array")") + if (length(timestamp_start) > 0) { libtiledb_array_set_open_timestamp_start(array_xptr, timestamp_start) } diff --git a/inst/examples/deletes.R b/inst/examples/deletes.R index fd24a59ca9..faaebe63fa 100644 --- a/inst/examples/deletes.R +++ b/inst/examples/deletes.R @@ -78,7 +78,7 @@ delete_rows <- function(uri) { read_array <- function(uri) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri, as.data.frame=TRUE) + A <- tiledb_array(uri, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 # A[1:2, 2:4] A[] diff --git a/inst/examples/deprecating/ex_1.R b/inst/examples/deprecating/ex_1.R index c8e7d0301b..f3722f59c8 100644 --- a/inst/examples/deprecating/ex_1.R +++ b/inst/examples/deprecating/ex_1.R @@ -47,7 +47,7 @@ read_array <- function(uri) { } read_as_df <- function(uri) { - A <- tiledb_dense(uri = uri, as.data.frame = TRUE) + A <- tiledb_dense(uri = uri, return_as = "data.frame") data <- A[3:7, 2:4] show(data) } @@ -77,7 +77,7 @@ open_read_change_read <- function(uri) { } simple_ex <- function(uri) { - arr <- tiledb_dense(uri, as.data.frame = TRUE) + arr <- tiledb_dense(uri, return_as = "data.frame") show(arr[7:9, 2:3]) } diff --git a/inst/examples/deprecating/quickstart_sparse.R b/inst/examples/deprecating/quickstart_sparse.R index f0efb42d7f..8f6821d1e8 100644 --- a/inst/examples/deprecating/quickstart_sparse.R +++ b/inst/examples/deprecating/quickstart_sparse.R @@ -69,7 +69,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_sparse(uri = array_name, as.data.frame=TRUE) + A <- tiledb_sparse(uri = array_name, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/ex_1.R b/inst/examples/ex_1.R index 0bbce6cb6d..48f4c8f6ce 100644 --- a/inst/examples/ex_1.R +++ b/inst/examples/ex_1.R @@ -47,7 +47,7 @@ read_array <- function(uri) { } read_as_df <- function(uri) { - A <- tiledb_array(uri = uri, as.data.frame = TRUE) + A <- tiledb_array(uri = uri, return_as = "data.frame") data <- A[3:7, 2:4] show(data) } @@ -77,7 +77,7 @@ open_read_change_read <- function(uri) { } simple_ex <- function(uri) { - arr <- tiledb_array(uri, as.data.frame = TRUE) + arr <- tiledb_array(uri, return_as = "data.frame") show(arr[7:9, 2:3]) } diff --git a/inst/examples/ex_2.R b/inst/examples/ex_2.R index 3924940634..ed5f3b9c07 100644 --- a/inst/examples/ex_2.R +++ b/inst/examples/ex_2.R @@ -53,7 +53,7 @@ read_array <- function(uri) { } read_as_df <- function(uri) { - A <- tiledb_array(uri = uri, as.data.frame = TRUE) + A <- tiledb_array(uri = uri, return_as = "data.frame") selected_ranges(A) <- list(cbind(ISOdatetime(2020,1,1,0,0,4), ISOdatetime(2020,1,1,0,0,6)), cbind(1L,1L)) diff --git a/inst/examples/ex_3.R b/inst/examples/ex_3.R index 6317dcfecc..af1726bdb7 100644 --- a/inst/examples/ex_3.R +++ b/inst/examples/ex_3.R @@ -95,7 +95,7 @@ write_array <- function(uri) { DATETIME_MS = as.POSIXct("2020-01-01 00:00:00") + 0:9 + 0.123, DATETIME_US = as.POSIXct("2020-01-01 00:00:00") + 0:9 + 0.123456) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, as="data.frame") arr[] <- data.frame(rows = rows, a1 = a1data, d1 = d1data) @@ -158,7 +158,7 @@ read_array_query <- function(uri) { } read_array <- function(uri) { - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") ## constraint on 1st dim: value from 4 to 7 selected_ranges(arr) <- list(cbind(as.integer64(4), as.integer64(7))) ## fetch data diff --git a/inst/examples/ex_TileDB-Cloud.R b/inst/examples/ex_TileDB-Cloud.R index 4c85ad45a4..24735229ac 100644 --- a/inst/examples/ex_TileDB-Cloud.R +++ b/inst/examples/ex_TileDB-Cloud.R @@ -10,5 +10,5 @@ ctx <- tiledb_ctx(config) array_name <- "tiledb://TileDB-Inc/quickstart_sparse" -arr <- tiledb_array(array_name, query_type="READ", as.data.frame=TRUE) +arr <- tiledb_array(array_name, return_as="data.frame") show(arr[]) diff --git a/inst/examples/ex_aggdatetimes.R b/inst/examples/ex_aggdatetimes.R index 8cfedf95b9..32bd0919a1 100644 --- a/inst/examples/ex_aggdatetimes.R +++ b/inst/examples/ex_aggdatetimes.R @@ -34,7 +34,7 @@ attrib <- c(tiledb_attr("year", type = "DATETIME_YEAR"), # year schema <- tiledb_array_schema(domain, attrib, sparse=TRUE) res <- tiledb_array_create(uri, schema) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") dvec <- 1:3 data <- data.frame(row = dvec, @@ -57,7 +57,7 @@ cat("writing ... ") arr[] <- data cat("reading ... ") -arr2 <- tiledb_array(uri, as.data.frame=TRUE) +arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] cat("checking ... ") diff --git a/inst/examples/ex_dimdatetimes.R b/inst/examples/ex_dimdatetimes.R index 9cb05fd045..e35e422501 100644 --- a/inst/examples/ex_dimdatetimes.R +++ b/inst/examples/ex_dimdatetimes.R @@ -59,7 +59,7 @@ for (dtype in dimtypes) { tiledb_array_create(uri, schema) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, as="data.frame") dvec <- switch(dtype, "DATETIME_YEAR" = c(as.Date("2020-01-01"), as.Date("2021-01-01"), as.Date("2022-01-01")), @@ -83,7 +83,7 @@ for (dtype in dimtypes) { arr[] <- data cat("reading ... ") - arr2 <- tiledb_array(uri, as.data.frame=TRUE) + arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] cat("(",format(readdata[1,1]), ",", format(readdata[2,1]), ",", format(readdata[3,1]), ") ", sep="") diff --git a/inst/examples/ex_dimensions.R b/inst/examples/ex_dimensions.R index ede247ef02..f2f6577a88 100644 --- a/inst/examples/ex_dimensions.R +++ b/inst/examples/ex_dimensions.R @@ -87,7 +87,7 @@ for (dtype in dimtypes) { tiledb_array_create(uri, schema) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dvec <- switch(dtype, "ASCII" = LETTERS[1:3], @@ -124,7 +124,7 @@ for (dtype in dimtypes) { arr[] <- data cat("reading ... ") - arr2 <- tiledb_array(uri, as.data.frame=TRUE) + arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] cat("(",format(readdata[1,1]), ",", format(readdata[2,1]), ",", format(readdata[3,1]), ") ", sep="") diff --git a/inst/examples/ex_metadata.R b/inst/examples/ex_metadata.R index 9b67f7ddd8..b30760b795 100644 --- a/inst/examples/ex_metadata.R +++ b/inst/examples/ex_metadata.R @@ -12,7 +12,7 @@ if (!dir.exists(uri)) { # if that example does not exist, create sch <- tiledb_array_schema(dom, c(a1, a2), sparse=TRUE) tiledb_array_create(uri, sch) - arr <- tiledb_array(uri, as.data.frame=FALSE) + arr <- tiledb_array(uri, return_as="asis") } ## old initial accessors diff --git a/inst/examples/ex_metadata_2.R b/inst/examples/ex_metadata_2.R index 47db37eadb..8cef787391 100644 --- a/inst/examples/ex_metadata_2.R +++ b/inst/examples/ex_metadata_2.R @@ -17,7 +17,7 @@ setup <- function(tmp, verbose=FALSE) { a2 <- tiledb_attr("a2", type = "INT32") sch <- tiledb_array_schema(dom, c(a1, a2), sparse=TRUE) tiledb_array_create(tmp, sch) - arr <- tiledb_array(tmp, as.data.frame=FALSE) + arr <- tiledb_array(tmp, return_as="asis") #arrW <- tiledb:::libtiledb_array_open(arr@ptr, tmp, "WRITE") #tiledb:::put_metadata(arrW, "vec", c(1.1, 2.2, 3.3)) @@ -120,7 +120,6 @@ setup <- function(tmp, verbose=FALSE) { tmp <- "/tmp/fooarray" #tempfile() if (dir.exists(tmp)) unlink(tmp, recursive=TRUE) arr <- setup(tmp, TRUE) -# arr <- tiledb_array(tmp, as.data.frame=FALSE) arr <- tiledb_array(tmp) arr <- .tiledb_array_open(arr, "READ") diff --git a/inst/examples/filters.R b/inst/examples/filters.R index 341f523653..0d4f66d57f 100644 --- a/inst/examples/filters.R +++ b/inst/examples/filters.R @@ -52,9 +52,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } diff --git a/inst/examples/quickstart_sparse.R b/inst/examples/quickstart_sparse.R index b212b3f069..d6357f0b37 100644 --- a/inst/examples/quickstart_sparse.R +++ b/inst/examples/quickstart_sparse.R @@ -69,7 +69,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE) + A <- tiledb_array(uri = array_name, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/quickstart_sparse_async.R b/inst/examples/quickstart_sparse_async.R index 8b8e85f91d..235f8af606 100644 --- a/inst/examples/quickstart_sparse_async.R +++ b/inst/examples/quickstart_sparse_async.R @@ -69,7 +69,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE) + A <- tiledb_array(uri = array_name, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/quickstart_sparse_encrypted.R b/inst/examples/quickstart_sparse_encrypted.R index 894385be54..ab445018d9 100644 --- a/inst/examples/quickstart_sparse_encrypted.R +++ b/inst/examples/quickstart_sparse_encrypted.R @@ -70,7 +70,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, encryption_key = encryption_key) + A <- tiledb_array(uri = array_name, return_as="data.frame", encryption_key = encryption_key) # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/quickstart_sparse_heter.R b/inst/examples/quickstart_sparse_heter.R index eff5e8bf35..c8d6fd7471 100644 --- a/inst/examples/quickstart_sparse_heter.R +++ b/inst/examples/quickstart_sparse_heter.R @@ -43,9 +43,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } diff --git a/inst/examples/quickstart_sparse_string.R b/inst/examples/quickstart_sparse_string.R index fc0d017a16..dfc72a8efa 100644 --- a/inst/examples/quickstart_sparse_string.R +++ b/inst/examples/quickstart_sparse_string.R @@ -44,9 +44,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } diff --git a/inst/examples/quickstart_sparse_timetravel.R b/inst/examples/quickstart_sparse_timetravel.R index 80422b1bc8..4bf526a02a 100644 --- a/inst/examples/quickstart_sparse_timetravel.R +++ b/inst/examples/quickstart_sparse_timetravel.R @@ -84,26 +84,26 @@ write_array <- function(array_name) { read_array <- function(array_name) { cat("\nReading everything:\n") # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE) + A <- tiledb_array(uri = array_name, as="data.frame") A[] } read_array_at <- function(array_name, tstamps) { ## Read before tstamp[1] cat("\nOpening / reading 0.5s before first tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[1] - 0.5) + A <- tiledb_array(uri = array_name, as="data.frame", timestamp=tstamps[1] - 0.5) print(A[]) cat("Opening / reading 0.5s after first tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[1] + 0.5) + A <- tiledb_array(uri = array_name, as="data.frame", timestamp=tstamps[1] + 0.5) print(A[]) cat("Opening / reading 0.5s before second tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[2] - 0.5) + A <- tiledb_array(uri = array_name, as="data.frame", timestamp=tstamps[2] - 0.5) print(A[]) cat("Opening / reading 0.5s after second tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[2] + 0.5) + A <- tiledb_array(uri = array_name, return_as="data.frame", timestamp=tstamps[2] + 0.5) print(A[]) } diff --git a/inst/examples/writing_dense_sparse.R b/inst/examples/writing_dense_sparse.R index 001b915899..5e88c86a97 100644 --- a/inst/examples/writing_dense_sparse.R +++ b/inst/examples/writing_dense_sparse.R @@ -40,9 +40,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } diff --git a/inst/notebooks/datetimes.Rmd b/inst/notebooks/datetimes.Rmd index 2df595d6d5..f4e9ffb128 100644 --- a/inst/notebooks/datetimes.Rmd +++ b/inst/notebooks/datetimes.Rmd @@ -107,7 +107,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex2} library(tiledb) uri <- "/tmp/tiledb/dt_year" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ## we can also look at 'raw' int64 values: datetimes_as_int64(arr) <- TRUE @@ -149,7 +149,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex3} library(tiledb) uri <- "/tmp/tiledb/dt_day" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -190,7 +190,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex4} library(tiledb) uri <- "/tmp/tiledb/dt_min" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -236,7 +236,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex5a} library(tiledb) uri <- "/tmp/tiledb/dt_ms" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -280,7 +280,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex5} library(tiledb) uri <- "/tmp/tiledb/dt_us" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -325,7 +325,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex6} library(tiledb) uri <- "/tmp/tiledb/dt_ns" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") arr[] ``` @@ -339,7 +339,7 @@ example which uses the array from the preceding example (at resolution of nanose ```{r rex7} library(tiledb) uri <- "/tmp/tiledb/dt_ns" -arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE) +arr <- tiledb_array(uri, as="data.frame", datetimes_as_int64=TRUE) arr[] ``` @@ -348,7 +348,7 @@ We can also write `integer64` types. The following example adds two extra rows: ```{r rex8} library(tiledb) uri <- "/tmp/tiledb/dt_ns" -arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE) +arr <- tiledb_array(uri, return_as="data.frame", datetimes_as_int64=TRUE) arr[] <- data.frame( rows=bit64::as.integer64(2:3), a=102:103) arr[] ``` diff --git a/inst/notebooks/datetimes.html b/inst/notebooks/datetimes.html index 9ad8b5e3d2..90d1386b2e 100644 --- a/inst/notebooks/datetimes.html +++ b/inst/notebooks/datetimes.html @@ -343,7 +343,7 @@

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_year"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##         rows a
 ## 1 2001-01-01 1
@@ -387,7 +387,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_day"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##         rows a
 ## 1 2001-01-01 1
@@ -426,7 +426,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_min"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                  rows a
 ## 1 2001-01-01 00:00:00 1
@@ -468,7 +468,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_ms"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                      rows a
 ## 1 1970-01-01 00:00:00.001 1
@@ -513,7 +513,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_us"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                         rows a
 ## 1 1970-01-01 00:00:00.000001 1
@@ -558,7 +558,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_ns"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                                  rows a
 ## 1 1970-01-01T00:00:00.000000001+00:00 1
@@ -575,7 +575,7 @@ 

Use integer64 Directly

Sometimes we may want to access the date or datetimes value in their native integer64 format. To do so, we set a toggle when opening the array as shown in the following example which uses the array from the preceding example (at resolution of nanosecond).

library(tiledb)
 uri <- "/tmp/tiledb/dt_ns"
-arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame", datetimes_as_int64=TRUE)
 arr[]
 ##                  rows a
 ## 1                   1 1
@@ -587,7 +587,7 @@ 

Use integer64 Directly

We can also write integer64 types. The following example adds two extra rows:

library(tiledb)
 uri <- "/tmp/tiledb/dt_ns"
-arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame", datetimes_as_int64=TRUE)
 arr[] <- data.frame( rows=bit64::as.integer64(2:3), a=102:103)
 arr[]
 ##                  rows   a
diff --git a/inst/tinytest/test_arrowio.R b/inst/tinytest/test_arrowio.R
index 5f2598e879..de1a3a740f 100644
--- a/inst/tinytest/test_arrowio.R
+++ b/inst/tinytest/test_arrowio.R
@@ -73,7 +73,7 @@ tiledb_query_set_layout(qry, "UNORDERED")
 tiledb_query_submit(qry)
 tiledb_query_finalize(qry)
 
-#arr <- tiledb_array(tmp, as.data.frame=TRUE)
+#arr <- tiledb_array(tmp, return_as="data.frame")
 #print(arr[])
 
 
@@ -162,7 +162,7 @@ tiledb_query_set_layout(qry, "UNORDERED")
 tiledb_query_submit(qry)
 tiledb_query_finalize(qry)
 
-arr <- tiledb_array(tmp, as.data.frame=TRUE)
+arr <- tiledb_array(tmp, return_as="data.frame")
 df <- arr[]
 
 for (i in 1:10) {
diff --git a/inst/tinytest/test_attr.R b/inst/tinytest/test_attr.R
index a15d3a8a95..79f4d61f0c 100644
--- a/inst/tinytest/test_attr.R
+++ b/inst/tinytest/test_attr.R
@@ -142,7 +142,7 @@ attrib <- c(tiledb_attr("year",  type = "DATETIME_YEAR"),  # year
 schema <- tiledb_array_schema(domain, attrib, sparse=TRUE)
 res <- tiledb_array_create(uri, schema)
 
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 
 dvec <- 1:3
 data <- data.frame(row = dvec,
@@ -162,7 +162,7 @@ data <- data.frame(row = dvec,
                    )
 
 arr[] <- data
-arr2 <- tiledb_array(uri, as.data.frame=TRUE)
+arr2 <- tiledb_array(uri, return_as="data.frame")
 readdata <- arr2[]
 expect_true(all.equal(data, readdata, check.attributes=FALSE))
 
@@ -217,7 +217,7 @@ df <- data.frame(row     =  1:10,
 arr <- tiledb_array(uri)
 arr[] <- df
 
-newarr <- tiledb_array(uri, as.data.frame=TRUE)
+newarr <- tiledb_array(uri, return_as="data.frame")
 chk <- newarr[]
 expect_equal(df[,1:10], chk[,1:10])
 expect_equivalent(as.numeric(df[,11]), chk[,11]) # we currently return uint64_t as numeric
diff --git a/inst/tinytest/test_dataframe.R b/inst/tinytest/test_dataframe.R
index 18ed7709bc..625cb5a4c2 100644
--- a/inst/tinytest/test_dataframe.R
+++ b/inst/tinytest/test_dataframe.R
@@ -16,7 +16,7 @@ if (tiledb_version(TRUE) < "2.7.0") exit_file("Needs TileDB 2.7.* or later")
 
 fromDataFrame(irisdf, uri)
 
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 newdf <- arr[]
 #if (getRversion() >= '4.0.0') newdf$Species <- as.factor(newdf$Species)
 if (getRversion() <  '4.0.0') newdf$Species <- as.character(newdf$Species)
@@ -29,7 +29,7 @@ expect_equal(irisdf, newdf[,-1])
 
 
 ## test attrs subselection
-arr <- tiledb_array(uri, as.data.frame=TRUE, extended=FALSE,
+arr <- tiledb_array(uri, return_as="data.frame", extended=FALSE,
                     attrs = c("Petal.Length", "Petal.Width"))
 newdf <- arr[]
 expect_equivalent(iris[, c("Petal.Length", "Petal.Width")], newdf) # skip attribute
@@ -58,7 +58,7 @@ df <- data.frame(char=c("abc", "def", "g", "hijk"),
 
 fromDataFrame(df, uri)
 
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 newdf <- arr[]
 
 ## result comes back as factor by default
@@ -78,7 +78,7 @@ df <- data.frame(index=sort(sample(1:1000, rows)),
                  vals=rnorm(rows) * 100,
                  stringsAsFactors=FALSE)
 fromDataFrame(df, uri)
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars)
 expect_equal(df, chk[,-1])              # omit first col which is added
@@ -87,7 +87,7 @@ if (tiledb_version(TRUE) < "2.1.0") exit_file("Remaining tests require TileDB 2.
 
 if (dir.exists(uri)) unlink(uri, recursive=TRUE)
 fromDataFrame(df, uri, col_index=1)
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars)
 expect_equal(df[,2], na.omit(chk)[,2])  # compare column by column
@@ -96,7 +96,7 @@ expect_equal(df[,3], na.omit(chk)[,3])
 
 if (dir.exists(uri)) unlink(uri, recursive=TRUE)
 fromDataFrame(df, uri, col_index="index")
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars)
 expect_equal(df[,2], na.omit(chk)[,2])  # compare column by column
@@ -108,7 +108,7 @@ df <- data.frame(chars=olddf$chars,
                  val=olddf$vals)
 if (dir.exists(uri)) unlink(uri, recursive=TRUE)
 fromDataFrame(df, uri)
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() < '4.0.0') {
     df$chars <- as.character(df$chars)
@@ -118,7 +118,7 @@ expect_equal(df, chk[,-1])              # omit first col which is added
 
 if (dir.exists(uri)) unlink(uri, recursive=TRUE)
 fromDataFrame(df, uri, col_index=2)
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars)
 expect_equal(df[,1], na.omit(chk)[,2])  # compare column by column
@@ -126,7 +126,7 @@ expect_equal(df[,3], na.omit(chk)[,3])
 
 if (dir.exists(uri)) unlink(uri, recursive=TRUE)
 fromDataFrame(df, uri, col_index="index")
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars)
 expect_equal(df[,1], na.omit(chk)[,2])  # compare column by column
@@ -155,13 +155,13 @@ df <- data.frame(time=round(Sys.time(), "secs") + trunc(cumsum(runif(nobs)*3600)
 if (dir.exists(uri)) unlink(uri, recursive=TRUE)
 fromDataFrame(df, uri, sparse=TRUE)
 
-chk <- tiledb_array(uri, as.data.frame=TRUE, extended=FALSE)
+chk <- tiledb_array(uri, return_as="data.frame", extended=FALSE)
 expect_equivalent(df, chk[])            # skip attribute
 
 for (i in seq_len(dim(df)[2])) {
     if (dir.exists(uri)) unlink(uri, recursive=TRUE)
     fromDataFrame(df, uri, sparse=TRUE, col_index=i)
-    chk <- tiledb_array(uri, as.data.frame=TRUE)
+    chk <- tiledb_array(uri, return_as="data.frame")
     expect_equal(df, chk[][,colnames(df)]) 		# index col comes first so need re-order
 }
 
@@ -181,7 +181,7 @@ df <- data.frame(time = round(Sys.time(), "secs") + trunc(cumsum(runif(nobs)*360
 if (dir.exists(uri)) unlink(uri, recursive=TRUE)
 fromDataFrame(df, uri, sparse=TRUE)
 
-chk <- tiledb_array(uri, as.data.frame=TRUE, extended=FALSE)
+chk <- tiledb_array(uri, return_as="data.frame", extended=FALSE)
 newdf <- chk[]
 if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt)
 expect_equivalent(df, newdf)            # skip attribute
@@ -190,7 +190,7 @@ expect_equivalent(df, newdf)            # skip attribute
 for (i in seq_len(dim(df)[2])) {
     if (dir.exists(uri)) unlink(uri, recursive=TRUE)
     fromDataFrame(df, uri, sparse=TRUE, col_index=i)
-    chk <- tiledb_array(uri, as.data.frame=TRUE)
+    chk <- tiledb_array(uri, return_as="data.frame")
     newdf <- chk[]
     if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt)
     expect_equal(df, newdf[, colnames(df)])
@@ -201,14 +201,14 @@ combinations <- list(c(1,2), c(1,3), c(2,4), c(3,5), c(4,5), c(2,3,4))
 for (comb in combinations) {
     if (dir.exists(uri)) unlink(uri, recursive=TRUE)
     fromDataFrame(df, uri, sparse=TRUE, col_index=comb) # by index
-    chk <- tiledb_array(uri, as.data.frame=TRUE)
+    chk <- tiledb_array(uri, return_as="data.frame")
     newdf <- chk[]
     if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt)
     expect_equal(df, newdf[][, colnames(df)])
 
     if (dir.exists(uri)) unlink(uri, recursive=TRUE)
     fromDataFrame(df, uri, sparse=TRUE, col_index=colnames(df)[comb]) # by name
-    chk <- tiledb_array(uri, as.data.frame=TRUE)
+    chk <- tiledb_array(uri, return_as="data.frame")
     newdf <- chk[]
     if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt)
     expect_equal(df, newdf[, colnames(df)])
@@ -223,7 +223,7 @@ dat <- data.frame(A=1:10,
 dat[3,1] <- NA
 dat[4,3] <- NA
 fromDataFrame(dat, uri)
-chk <- tiledb_array(uri, as.data.frame=TRUE)
+chk <- tiledb_array(uri, return_as="data.frame")
 val <- chk[][,-1]  # omit added rows
 if (getRversion() < '4.0.0') {
     dat$B <- as.character(dat$B)
@@ -239,7 +239,7 @@ D <- data.frame(sample=paste(LETTERS[1:N], as.character(sort(trunc(runif(N, 100,
                 stringsAsFactors=FALSE)
 uri <- tempfile()
 fromDataFrame(D, uri, col_index=1, sparse=TRUE)
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() < '4.0.0') {
     chk$sample <- as.character(chk$sample)
@@ -260,7 +260,7 @@ expect_error(fromDataFrame(df, uri, col_index=1, sparse=TRUE, allows_dups=FALSE)
 uri <- tempfile()
 expect_silent(arr <- fromDataFrame(df, uri, col_index=1, sparse=TRUE, allows_dups=TRUE))
 
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 chk <- arr[]
 if (getRversion() <  '4.0.0') chk$char <- as.character(chk$char)
 expect_equivalent(df, chk)              # skip attribute
diff --git a/inst/tinytest/test_dim.R b/inst/tinytest/test_dim.R
index d474917539..40c370497e 100644
--- a/inst/tinytest/test_dim.R
+++ b/inst/tinytest/test_dim.R
@@ -163,7 +163,7 @@ for (dtype in dimtypes) {
     schema <- tiledb_array_schema(domain, attrib, sparse=TRUE)
     tiledb_array_create(uri, schema)
 
-    arr <- tiledb_array(uri, as.data.frame=TRUE)
+    arr <- tiledb_array(uri, return_as="data.frame")
     dvec <- switch(dtype,
                    "ASCII"   = LETTERS[1:5],
                    "INT8"    =,
@@ -195,7 +195,7 @@ for (dtype in dimtypes) {
     data <- data.frame(row = dvec, attr = avec, stringsAsFactors=FALSE)
     arr[] <- data
 
-    arr2 <- tiledb_array(uri, as.data.frame=TRUE)
+    arr2 <- tiledb_array(uri, return_as="data.frame")
     readdata <- arr2[]
     if (dtype == "ASCII" && getRversion() < '4.0.0') readdata$row <- as.character(readdata$row)
     if (dtype == "UINT64") readdata[,1] <- as.integer64(readdata[,1])  # return doubles here
@@ -212,7 +212,7 @@ for (dtype in dimtypes) {
     }
 
     ## subset tests
-    arr3 <- tiledb_array(uri, as.data.frame=TRUE)
+    arr3 <- tiledb_array(uri, return_as="data.frame")
     if (dtype %in% c("DATETIME_YEAR", "DATETIME_MONTH", "DATETIME_WEEK", "DATETIME_DAY")) {
         scaleDate <- function(val, dtype) {
             val <- switch(dtype,
@@ -331,7 +331,7 @@ for (dtype in dimtypes) {
     schema <- tiledb_array_schema(domain, attrib, sparse=TRUE)
     tiledb_array_create(uri, schema)
 
-    arr <- tiledb_array(uri, as.data.frame=TRUE)
+    arr <- tiledb_array(uri, return_as="data.frame")
     dvec <- switch(dtype,
                    "ASCII"   = LETTERS[1:5],
                    "INT8"    =,
@@ -363,7 +363,7 @@ for (dtype in dimtypes) {
     data <- data.frame(row = dvec, attr = avec, stringsAsFactors=FALSE)
     arr[] <- data
 
-    ## arr2 <- tiledb_array(uri, as.data.frame=TRUE)
+    ## arr2 <- tiledb_array(uri, return_as="data.frame")
     ## readdata <- arr2[]
     ## if (dtype == "ASCII" && getRversion() < '4.0.0') readdata$row <- as.character(readdata$row)
     ## if (dtype == "UINT64") readdata[,1] <- as.integer64(readdata[,1])  # return doubles here
@@ -380,7 +380,7 @@ for (dtype in dimtypes) {
     ## }
 
     ## subset tests
-    arr3 <- tiledb_array(uri, as.data.frame=TRUE)
+    arr3 <- tiledb_array(uri, return_as="data.frame")
     if (dtype %in% c("DATETIME_YEAR", "DATETIME_MONTH", "DATETIME_WEEK", "DATETIME_DAY")) {
         scaleDate <- function(val, dtype) {
             val <- switch(dtype,
diff --git a/inst/tinytest/test_dimsubset.R b/inst/tinytest/test_dimsubset.R
index e779c48d79..40ac6d04c9 100644
--- a/inst/tinytest/test_dimsubset.R
+++ b/inst/tinytest/test_dimsubset.R
@@ -78,7 +78,7 @@ log_info("re-arranged list object made")
 arr[] <- newlst
 log_info("array written")
 
-newarr <- tiledb_array(tmp, as.data.frame=TRUE, query_layout="UNORDERED")
+newarr <- tiledb_array(tmp, return_as="data.frame", query_layout="UNORDERED")
 dat <- newarr[]
 log_info("array read")
 expect_equal(nrow(dat), nrow(flights))
@@ -97,7 +97,7 @@ expect_equal(unique(dat$origin), "JFK")
 expect_equal(unique(dat$dest), "BOS")
 
 ## same via selected_points
-newarr <- tiledb_array(tmp, as.data.frame=TRUE, query_layout="UNORDERED",
+newarr <- tiledb_array(tmp, return_as="data.frame", query_layout="UNORDERED",
                        selected_points= list("AA", "JFK", "BOS", NULL))
 dat <- newarr[]
 expect_equal(unique(dat$carrier), "AA")
@@ -105,7 +105,7 @@ expect_equal(unique(dat$origin), "JFK")
 expect_equal(unique(dat$dest), "BOS")
 
 ## test named lists with one element
-newarr <- tiledb_array(tmp, as.data.frame=TRUE, query_layout="UNORDERED")
+newarr <- tiledb_array(tmp, return_as="data.frame", query_layout="UNORDERED")
 selected_ranges(newarr) <- list(carrier = cbind("AA","AA"))
 dat <- newarr[]
 expect_equal(unique(dat$carrier), "AA")
diff --git a/inst/tinytest/test_metadata.R b/inst/tinytest/test_metadata.R
index a074ddc2bc..d127cc5720 100644
--- a/inst/tinytest/test_metadata.R
+++ b/inst/tinytest/test_metadata.R
@@ -19,8 +19,7 @@ unlink_and_create_simple <- function(tmp) {
   sch <- tiledb_array_schema(dom, c(a1, a2), sparse=TRUE)
   tiledb_array_create(tmp, sch)
 
-  #arr <- tiledb_sparse(tmp, as.data.frame=FALSE)
-  arr <- tiledb_array(tmp, as.data.frame=FALSE)
+  arr <- tiledb_array(tmp, return_as="asis")
 
   if (tiledb:::libtiledb_array_is_open(arr@ptr)) {
       tiledb_array_close(arr)
@@ -44,8 +43,7 @@ unlink_and_create_ptr <- function(tmp) {
 
   arr <- tiledb_array_open(arr, "READ")
   ##return(arrR)
-  #arr <- tiledb_sparse(tmp, as.data.frame=FALSE)
-  arr <- tiledb_array(tmp, as.data.frame=FALSE)
+  arr <- tiledb_array(tmp, return_as="asis")
 }
 
 close_and_reopen <- function(arr, txt) {
diff --git a/inst/tinytest/test_query.R b/inst/tinytest/test_query.R
index ffc0400cb0..8486a1ca45 100644
--- a/inst/tinytest/test_query.R
+++ b/inst/tinytest/test_query.R
@@ -239,7 +239,7 @@ cfg <- tiledb_config()
 cfg["sm.memory_budget"] <- "16"
 cfg["sm.memory_budget_var"] <- "32"
 ctx <- tiledb_ctx(cfg)
-array <- tiledb_array(tmp, as.data.frame=TRUE)
+array <- tiledb_array(tmp, return_as="data.frame")
 
 if (packageVersion("tiledb") <= "0.11.0") expect_warning(res <- array[]) # newer versions loop, no warning
 
diff --git a/inst/tinytest/test_querycondition.R b/inst/tinytest/test_querycondition.R
index eef661caad..1101cf5069 100644
--- a/inst/tinytest/test_querycondition.R
+++ b/inst/tinytest/test_querycondition.R
@@ -145,16 +145,16 @@ if (!requireNamespace("palmerpenguins", quietly=TRUE)) exit_file("remainder need
 library(palmerpenguins)
 uri <- tempfile()
 fromDataFrame(penguins, uri, sparse=TRUE)
-unconstr <- tiledb_array(uri, as.data.frame=TRUE)
+unconstr <- tiledb_array(uri, return_as="data.frame")
 expect_equal(NROW(unconstr[]), 344L)    # no condition -> 344 rows
 
 qc <- tiledb_query_condition_init("year", 2009, "INT32", "EQ")
-arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 res <- arrwithqc[]
 expect_equal(NROW(res), 120L)    		# year 2009 only -> 120 rows
 expect_true(all(res$year == 2009))
 
-arr2 <- tiledb_array(uri, as.data.frame=TRUE)
+arr2 <- tiledb_array(uri, return_as="data.frame")
 expect_equal(NROW(arr2[]), 344L)    	# no condition -> 344 rows
 query_condition(arr2) <- qc
 expect_equal(NROW(arr2[]), 120L)    	# year 2009 only -> 120 rows
@@ -174,13 +174,13 @@ uri <- tempfile()
 fromDataFrame(penguins, uri, sparse=TRUE)
 arr <- tiledb_array(uri)
 qc <- parse_query_condition(year == 2009)
-arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 res <- arrwithqc[]
 expect_equal(NROW(res), 120L)    # year 2009 only -> 120 rows
 expect_true(all(res$year == 2009))
 
 qc2 <- parse_query_condition(year == 2009 && bill_length_mm <= 39.99)
-arrwithqc2 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc2)
+arrwithqc2 <- tiledb_array(uri, return_as="data.frame", query_condition=qc2)
 res <- arrwithqc2[]
 expect_equal(NROW(res), 34L)
 expect_true(all(res$bill_length_mm < 40))
@@ -188,14 +188,14 @@ expect_true(all(res$year == 2009))
 
 if (tiledb_version(TRUE) >= "2.10.0") { # the OR operator is more recent than query conditions overall
     qc3 <- parse_query_condition(island %in% c("Dream", "Biscoe"), arr)
-    arrwithqc3 <- tiledb_array(uri, as.data.frame=TRUE, strings_as_factors=TRUE, query_condition=qc3)
+    arrwithqc3 <- tiledb_array(uri, return_as="data.frame", strings_as_factors=TRUE, query_condition=qc3)
     res <- arrwithqc3[]
     expect_equal(NROW(res), 168+124)
     expect_true(all(res$island != "Torgersen"))
     expect_true(all(res$island == "Dream" | res$island == "Biscoe"))
 
     qc4 <- parse_query_condition(island %in% c("Dream", "Biscoe") && body_mass_g > 3500, arr)
-    arrwithqc4 <- tiledb_array(uri, as.data.frame=TRUE, strings_as_factors=TRUE, query_condition=qc4)
+    arrwithqc4 <- tiledb_array(uri, return_as="data.frame", strings_as_factors=TRUE, query_condition=qc4)
     res <- arrwithqc4[]
     expect_equal(NROW(res), 153+80)
     expect_true(all(res$island != "Torgersen"))
@@ -212,13 +212,13 @@ if (Sys.getenv("MY_UNIVERSE", "") != "") exit_file("Skip remainder at r-universe
 uri <- tempfile()
 fromDataFrame(na.omit(penguins), uri, sparse=TRUE)
 qc3 <- parse_query_condition(sex == "male")
-arrwithqc3 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc3)
+arrwithqc3 <- tiledb_array(uri, return_as="data.frame", query_condition=qc3)
 res <- arrwithqc3[]
 expect_equal(NROW(res), 168L)
 expect_true(all(res$sex == "male"))
 
 qc <- tiledb_query_condition_init("sex", "female", "ASCII", "EQ")
-arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 res <- arrwithqc[]
 expect_equal(NROW(res), 165L)
 expect_true(all(res$sex != "male"))
@@ -230,21 +230,21 @@ uri <- tempfile()
 fromDataFrame(edgecases, uri, sparse=TRUE)
 
 qcx1 <- tiledb::parse_query_condition(x1 == "a1")
-arrx1 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx1)
+arrx1 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx1)
 res <- arrx1[]
 expect_equal(res$x1, "a1")
 
 qcx2 <- tiledb::parse_query_condition(x2 == 1L)
-arrx2 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx2)
+arrx2 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx2)
 res <- arrx2[]
 expect_equal(res$x2, 1L)
 
 qcx3 <- tiledb::parse_query_condition(x3 == "_1")
-arrx3 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx3)
+arrx3 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx3)
 expect_equal(arrx3[]$x3, "_1")
 
 qcx4 <- tiledb::parse_query_condition(x4 == "1.1.1")
-arrx4 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx4)
+arrx4 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx4)
 expect_equal(arrx4[]$x4, "1.1.1")
 
 
@@ -254,9 +254,9 @@ df <- data.frame(abb = state.abb,		# builtin-data
                  name = state.name)     # idem
 uri <- tempfile()
 fromDataFrame(df, uri, col_index="abb", sparse=TRUE)
-fullarr <- tiledb_array(uri, as.data.frame=TRUE)[]
+fullarr <- tiledb_array(uri, return_as="data.frame")[]
 expect_equal(dim(fullarr), c(50,3))
-subarr <- tiledb_array(uri, as.data.frame=TRUE,
+subarr <- tiledb_array(uri, return_as="data.frame",
                        query_condition=parse_query_condition(region == "Northeast"))[]
 expect_equal(dim(subarr), c(9,3))
 
@@ -272,68 +272,68 @@ fromDataFrame(penguins, uri, sparse=TRUE)
 
 ## Basics
 qc <- tiledb_query_condition_init("year", 2009, "INT32", "EQ")
-arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arrwithqc[]), 120L)
 
 lhs <- tiledb_query_condition_init("year", 2008, "INT32", "GE")
 rhs <- tiledb_query_condition_init("year", 2008, "INT32", "LE")
 qc <- tiledb_query_condition_combine(lhs, rhs, "AND")
-arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arrwithqc[]), 114L)  # basically a different way of writing EQ via '<= && >='
 
 lhs <- tiledb_query_condition_init("year", 2008, "INT32", "GE")
 rhs <- tiledb_query_condition_init("year", 2008, "INT32", "LE")
 qc <- tiledb_query_condition_combine(lhs, rhs, "OR")
-arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arrwithqc[]), 344L)  # the OR makes it unconstrained via '<= || >='
 
 ## simple OR
 qc <- parse_query_condition(species == "Adelie" || species == "Chinstrap")
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 ## Note that in R '||' is used for length-1 comparison, and '|' along a vector so '|' here
 expect_equal(NROW(arr[]), sum(with(penguins, species == "Adelie" | species == "Chinstrap")))
 
 ## three elements works too
 qc <- parse_query_condition(species == "Adelie" || species == "Chinstrap" || year >= 2009)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]),
              sum(with(penguins, species == "Adelie" | species == "Chinstrap" | year >= 2009)))
 
 ## three elements works too as does mixing AND and OR
 qc <- parse_query_condition(species == "Adelie" || species == "Chinstrap" && year >= 2009)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]),
              sum(with(penguins, species == "Adelie" | species == "Chinstrap" & year >= 2009)))
 
 ## empty sets are fine
 qc <- parse_query_condition(year < 2008 || year > 2010)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]),
              sum(with(penguins, year < 2008 | year > 2010)))
 
 ## Overlapping ranges
 qc <- parse_query_condition(year < 2009 && year < 2010)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]),
              sum(with(penguins, year < 2009)))
 
 qc <- parse_query_condition(year <= 2009 && year >= 2009)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]),
              sum(with(penguins, year == 2009)))
 
 qc <- parse_query_condition(year < 2009 || year < 2010)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]),
              sum(with(penguins, year < 2010)))
 
 ## Last two with single & or |
 qc <- parse_query_condition(year <= 2009 & year >= 2009)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]), sum(with(penguins, year == 2009)))
 
 qc <- parse_query_condition(year < 2009 | year < 2010)
-arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc)
+arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc)
 expect_equal(NROW(arr[]), sum(with(penguins, year < 2010)))
 
 ## query conditions over different types
diff --git a/inst/tinytest/test_tiledbarray.R b/inst/tinytest/test_tiledbarray.R
index e30e3fe771..b11175e681 100644
--- a/inst/tinytest/test_tiledbarray.R
+++ b/inst/tinytest/test_tiledbarray.R
@@ -30,7 +30,7 @@ tiledb_array_create(tmp, sch)
 
 N <- 10
 dat <- matrix(rnorm(N), N, 1)
-arr <- tiledb_array(tmp, is.sparse=TRUE, as.data.frame=TRUE)
+arr <- tiledb_array(tmp, is.sparse=TRUE, return_as="data.frame")
 I <- as.Date("2020-01-01") + seq_len(N)
 J <- sample(c("ABC","DEF","GHI"), N, replace=TRUE)
 
@@ -56,7 +56,7 @@ tiledb_array_create(tmp, sch)
 
 N <- 10
 dat <- matrix(rnorm(N), N, 1)
-arr <- tiledb_array(tmp, is.sparse=TRUE, as.data.frame=TRUE)
+arr <- tiledb_array(tmp, is.sparse=TRUE, return_as="data.frame")
 I <- as.POSIXct("2020-01-01") + seq_len(N)*3600
 J <- sample(c("ABC","DEF","GHI"), N, replace=TRUE)
 
@@ -86,7 +86,7 @@ dat <- readRDS(system.file("sampledata", "bankSample.rds", package="tiledb"))
 dir.create(tmpuri <- tempfile())
 fromDataFrame(dat[,-1], tmpuri)
 
-arr <- tiledb_array(tmpuri, as.data.frame=TRUE)
+arr <- tiledb_array(tmpuri, return_as="data.frame")
 newdat <- arr[]
 expect_equal(dat[,-1], newdat[,-1])
 
@@ -134,10 +134,10 @@ sch <- tiledb_array_schema(dom, attrs = c(tiledb_attr("age", type="INT32"),
                            sparse = TRUE)
 tiledb_array_create(tmpuri, sch)
 
-arr <- tiledb_array(tmpuri, as.data.frame=TRUE)
+arr <- tiledb_array(tmpuri, return_as="data.frame")
 arr[] <- dat
 
-newarr <- tiledb_array(tmpuri, as.data.frame=TRUE)
+newarr <- tiledb_array(tmpuri, return_as="data.frame")
 newdat <- newarr[]
 expect_equivalent(dat, newdat)
 
@@ -165,10 +165,10 @@ dat <- readRDS(system.file("sampledata", "bankSample.rds", package="tiledb"))
 dir.create(tmpuri <- tempfile())
 fromDataFrame(dat[,-1], tmpuri)
 
-arr1 <- tiledb_array(tmpuri, as.data.frame=TRUE)
+arr1 <- tiledb_array(tmpuri, return_as="data.frame")
 dat1 <- arr1[]
 
-arr2 <- tiledb_array(tmpuri, as.data.frame=TRUE, extended=FALSE)
+arr2 <- tiledb_array(tmpuri, return_as="data.frame", extended=FALSE)
 dat2 <- arr2[]
 ## dat2 should have fewer as not extended
 expect_true(ncol(dat1) > ncol(dat2))
@@ -208,7 +208,7 @@ dat <- readRDS(system.file("sampledata", "bankSample.rds", package="tiledb"))
 dir.create(tmpuri <- tempfile())
 fromDataFrame(dat[,-1], tmpuri)
 
-arr <- tiledb_array(tmpuri, as.data.frame=TRUE, extended=FALSE)
+arr <- tiledb_array(tmpuri, return_as="data.frame", extended=FALSE)
 expect_true(length(attrs(arr)) == 0)
 
 sels <-  c("age", "job", "education", "duration")
@@ -236,10 +236,10 @@ val <- tiledb_attr("val", type = "FLOAT64")
 sch <- tiledb_array_schema(dom, val, sparse=TRUE)
 rc <- tiledb_array_create(tmpuri, sch)
 
-x <- tiledb_array(uri = tmpuri, as.data.frame=TRUE)
+x <- tiledb_array(uri = tmpuri, return_as="data.frame")
 x[] <- list(d1=1:10, d2=1:10, val=y)
 
-x <- tiledb_array(uri = tmpuri, as.data.frame=TRUE)
+x <- tiledb_array(uri = tmpuri, return_as="data.frame")
 
 ## intersection: 2 and 8 ... from 1 to 2 and 7 to 9, and 2 and 8
 selected_ranges(x) <- list(matrix(c(1,2,7,9),2,byrow=TRUE),
@@ -292,7 +292,7 @@ val <- tiledb_attr("val", type = "FLOAT64")
 sch <- tiledb_array_schema(dom, c(val), sparse=TRUE)
 tiledb_array_create(tmp, sch)
 
-x <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+x <- tiledb_array(uri = tmp, return_as="data.frame")
 df <- data.frame(d1=integer(0), d2=integer(0), val=numeric(0))
 ## cannot currently write (corner-case) zero-length data.frame via <-
 #x[] <- df
@@ -324,7 +324,7 @@ val <- tiledb_attr("val", type = "FLOAT64")
 sch <- tiledb_array_schema(dom, val, sparse=TRUE)
 tiledb_array_create(tmp, sch)
 
-x <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+x <- tiledb_array(uri = tmp, return_as="data.frame")
 
 set.seed(100)
 df <- data.frame(d1=sample(100, 10, replace=TRUE),
@@ -363,7 +363,7 @@ J <- c(1L, 2L, 3L)
 K <- c(1L, 2L, 4L)
 L <- c(1L, 2L, 3L)
 data <- c(1.0, 2.1, 3.3)
-A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+A <- tiledb_array(uri = tmp, return_as="data.frame")
 A[] <- data.frame(d1=I, d2=J, d3=K, d4=L, a=data)
 
 ## constrain to one row
@@ -405,7 +405,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   data <- c(1L, 2L, 3L)
   A[I,J] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+  A <- tiledb_array(uri = tmp, return_as="data.frame")
   newdata <- A[as.integer64(1:2), as.integer64(2:4)]
   expect_equal(newdata[,"a"], c(3L, 2L))
   expect_equal(newdata[,"rows"], as.integer64(c(2, 2)))
@@ -439,7 +439,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   data <- c(1L, 2L, 3L)
   A[I,J] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+  A <- tiledb_array(uri = tmp, return_as="data.frame")
   newdata <- A[as.integer64(1:2), as.integer64(2:4)]
   expect_equal(newdata[,"a"], c(3L, 2L))
   expect_equal(newdata[,"rows"], c(2L, 2L))
@@ -471,7 +471,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   data <- c(1L, 2L, 3L)
   A[I,J] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+  A <- tiledb_array(uri = tmp, return_as="data.frame")
   newdata <- A[1:2, 2:4]
   expect_equal(newdata[,"a"], c(3L, 2L))
   expect_equal(newdata[,"rows"], c(2L, 2L))
@@ -500,7 +500,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   data <- c(1L, 2L, 3L)
   A[I,J] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+  A <- tiledb_array(uri = tmp, return_as="data.frame")
   newdata <- A[1:2, 2:4]
   expect_equal(newdata[,"a"], c(3L, 2L))
   expect_equal(newdata[,"rows"], c(2L, 2L))
@@ -529,7 +529,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   data <- c(1L, 2L, 3L)
   A[I,J] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+  A <- tiledb_array(uri = tmp, return_as="data.frame")
   newdata <- A[1:2, 2:4]
   expect_equal(newdata[,"a"], c(3L, 2L))
   expect_equal(newdata[,"rows"], c(2L, 2L))
@@ -558,7 +558,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   data <- c(1L, 2L, 3L)
   A[I,J] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+  A <- tiledb_array(uri = tmp, return_as="data.frame")
   newdata <- A[1:2, 2:4]
   expect_equal(newdata[,"a"], c(3L, 2L))
   expect_equal(newdata[,"rows"], c(2L, 2L))
@@ -587,7 +587,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   data <- c(1L, 2L, 3L)
   A[I,J] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE)
+  A <- tiledb_array(uri = tmp, return_as="data.frame")
   newdata <- A[1:2, 2:4]
   expect_equal(newdata[,"a"], c(3L, 2L))
   expect_equal(newdata[,"rows"], c(2L, 2L))
@@ -618,7 +618,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
@@ -649,7 +649,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
@@ -680,7 +680,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
@@ -711,7 +711,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
@@ -742,7 +742,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
@@ -773,7 +773,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
@@ -804,7 +804,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[as.integer64(rep(1:4,each=4)), as.integer64(rep(1:4,4))] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[as.integer64(1:2), as.integer64(2:3)]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], as.integer64(c(1L, 1L, 2L, 2L)))
@@ -836,7 +836,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[as.integer64(rep(1:4,each=4)), as.integer64(rep(1:4,4))] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[as.integer64(1:2), as.integer64(2:3)]
   expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L))
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
@@ -887,7 +887,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   #A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
   expect_equal(newdata[,"cols"], c(2L, 3L, 2L, 3L))
@@ -943,7 +943,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
   ## or with indices
   A[rep(1:4,each=4), rep(1:4,4)] <- data
 
-  A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+  A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR")
   newdata <- A[1:2, 2:3]
   expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L))
   expect_equal(newdata[,"cols"], c(2L, 3L, 2L, 3L))
@@ -1024,13 +1024,13 @@ A <- tiledb_array(uri = tmp, timestamp_end=now2)
 A[I, J] <- data
 
 if (tiledb_version(TRUE) >= "2.10.0") {
-    A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now1 - onet)
+    A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now1 - onet)
     expect_equal(nrow(A[]), 0)
-    A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now1 + onet)
+    A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now1 + onet)
     expect_equal(nrow(A[]), 3)
-    A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now2 - onet)
+    A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now2 - onet)
     expect_equal(nrow(A[]), 3)
-    A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now2 + onet)
+    A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now2 + onet)
     expect_equal(nrow(A[]), 6)
 }
 
@@ -1049,12 +1049,12 @@ arr <- tiledb_array(tmp)
 query_layout(arr) <- "COL_MAJOR"    	# needed if we want column order
 arr[] <- mat                        	# we can write directly
 
-arr2 <- tiledb_array(tmp, as.matrix=TRUE)
+arr2 <- tiledb_array(tmp, return_as="matrix")
 mat2 <- arr2[]
 expect_true(all.equal(mat, mat2, check.attributes=FALSE)) # check round-turn
 
 ## check no double selection
-expect_error(tiledb_array(tmp, as.data.frame=TRUE, as.matrix=TRUE))
+expect_error(tiledb_array(tmp, as.data.frame=TRUE, as.matrix=TRUE)) # TODO: remove when removing as.data.frame and as.matrix
 ## check matrix return and not data.frame return when row col select
 expect_false(is.data.frame(suppressMessages(arr2[1:2,])))
 expect_true(is.matrix(suppressMessages(arr2[1:2,])))
@@ -1070,18 +1070,18 @@ selected_ranges(arr2) <- list(cbind(c(1,4),c(2,5)), cbind(2,2))
 expect_equivalent(arr2[], cbind(c(6,7,9,10)))
 
 
-arr3 <- tiledb_array(tmp, as.data.frame=TRUE)
+arr3 <- tiledb_array(tmp, return_as="data.frame")
 df1 <- arr3[]
 df1$vals2 <- df1$vals * 10
 tmp2 <- tempfile()
 fromDataFrame(df1, tmp2)
 
 ## check selecting matrix out of multiple cols
-arr4 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals2"), as.matrix=TRUE)
+arr4 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals2"), return_as="matrix")
 expect_equivalent(arr4[], 10*mat)
-arr5 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals"), as.matrix=TRUE)
+arr5 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals"), return_as="matrix")
 expect_equivalent(arr5[], mat)
-arr6 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals", "vals2"), as.matrix=TRUE)
+arr6 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals", "vals2"), return_as="matrix")
 res <- arr6[]
 expect_true(is.list(res))
 expect_equal(length(res), 2L)
@@ -1104,12 +1104,12 @@ data <- list(a=array(seq(1:50), dim = c(10,5)),
              c=array(c(letters[1:26], "brown", "fox", LETTERS[1:22]), dim = c(10,5)))
 A <- tiledb_array(uri)
 A[] <- data
-obj <- tiledb_array(uri, attrs="a", as.data.frame=TRUE)
+obj <- tiledb_array(uri, attrs="a", return_as="data.frame")
 res <- obj[]
 expect_equal(colnames(res), c("rows", "cols", "a")) 	# this was the PR issues
-obj <- tiledb_array(uri, attrs="a", as.matrix=TRUE)     # this is the preferred accessor here
+obj <- tiledb_array(uri, attrs="a", return_as="matrix")     # this is the preferred accessor here
 expect_equivalent(obj[], data[["a"]])
-obj <- tiledb_array(uri, as.matrix=TRUE)     			# test all three matrices
+obj <- tiledb_array(uri, return_as="matrix")     			# test all three matrices
 res <- obj[]
 expect_equal(res[["a"]], data[["a"]])
 expect_equal(res[["b"]], data[["b"]])
@@ -1127,7 +1127,7 @@ tiledb_array_create(uri, schema)
 obj <- tiledb_array(uri, attrs="x", query_type="WRITE")
 M <- matrix(runif(N*K), N, K)
 obj[] <- M                              # prior to #246 this write had a write data type
-chk <- tiledb_array(uri, as.matrix=TRUE)
+chk <- tiledb_array(uri, return_as="matrix")
 expect_equivalent(chk[], M)
 
 
@@ -1138,7 +1138,7 @@ uri <- tempfile()
 fromDataFrame(penguins, uri, sparse = TRUE,
               col_index = c("species", "year"),
               tile_domain=list(year=c(1966L, 2021L)))
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 ## new data
 newdf <- penguins[1:2,]
 newdf$species <- c("Fred", "Ginger")
@@ -1146,7 +1146,7 @@ newdf$island <- c("Manhattan", "Staten Island")
 newdf$year <- c(1966L, 1969L)                     # int is important
 arr[] <- newdf
 ## check it
-chk <- tiledb_array(uri, as.data.frame=TRUE)
+chk <- tiledb_array(uri, return_as="data.frame")
 res <- chk[]
 expect_true(1966L %in% res$year)
 expect_true(1969L %in% res$year)
@@ -1174,11 +1174,11 @@ expect_equal(res1, res2)
 
 ## FYI: 152 tests here
 ## check for strings_as_factors
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 res <- arr[]
 expect_equal(class(res[,"species"]), "character")
 expect_equal(class(res[,"sex"]), "character")
-arr <- tiledb_array(uri, as.data.frame=TRUE, strings_as_factors=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame", strings_as_factors=TRUE)
 res <- arr[]
 expect_equal(class(res[,"species"]), "factor")
 expect_equal(class(res[,"sex"]), "factor")
@@ -1201,7 +1201,7 @@ arr[I, J] <- mat[I, J]
 I <- 4:5
 J <- 1:4
 arr[I,J] <- mat[I, J]
-arr2 <- tiledb_array(uri, as.matrix=TRUE)
+arr2 <- tiledb_array(uri, return_as="matrix")
 res <- arr2[]
 expect_equal(dim(res), c(5,4))
 expect_equal(sum(is.na(res[1:3,1:2])), 6) # arr[1:3,1:2] all NA
@@ -1222,9 +1222,9 @@ res <- tiledb_array_create(uri, schema)
 data <- list(a=array(seq(1:100), dim = c(10,5, 2)),
              b=array(as.double(seq(101,by=0.5,length=100)), dim = c(10,5,2)),
              c=array(rep(c(letters[1:26], "brs", "asdf", LETTERS[1:22]), 2), dim = c(10,5,2)))
-A <- tiledb_array(uri = uri, as.data.frame = TRUE, query_layout = "ROW_MAJOR")
+A <- tiledb_array(uri = uri, return_as="data.frame", query_layout = "ROW_MAJOR")
 A[] <- data
-chk <- tiledb_array(uri = uri, as.data.frame=TRUE)
+chk <- tiledb_array(uri = uri, return_as="data.frame")
 res <- chk[]
 expect_equal(dim(res), c(100,6))
 expect_equal(colnames(res), c("rows", "cols", "time", "a", "b", "c"))
@@ -1414,7 +1414,7 @@ if (requireNamespace("bit64", quietly=TRUE)) {
 library(palmerpenguins)
 uri <- tempfile()
 fromDataFrame(penguins, uri, sparse = TRUE, col_index = c("species", "year"))
-arr <- tiledb_array(uri, as.data.frame = TRUE, attrs = NA_character_)
+arr <- tiledb_array(uri, return_as="data.frame", attrs = NA_character_)
 res <- arr[]
 expect_equal(NCOL(res), 2)
 expect_equal(colnames(res), c("species", "year"))
@@ -1435,14 +1435,14 @@ if (getRversion() < "4.3.0" && Sys.info()[["sysname"]] == "Windows") exit_file("
 
 ## check for incomplete status on unsuccessful query -- this no longer fails following some changes made
 #set_allocation_size_preference(128)     # too low for penguins to query fully
-#array <- tiledb_array(uri, as.data.frame=TRUE, query_layout="ROW_MAJOR")
+#array <- tiledb_array(uri, return_as="data.frame", query_layout="ROW_MAJOR")
 #expect_warning(res <- array[])          # warning emitted
 #expect_equal(attr(res, "query_status"), "INCOMPLETE") # and query status reported
 
 if (Sys.getenv("IS_COVR", "no") == "no") {
     ## check for batched operation -- but not in coverage
     set_allocation_size_preference(1024)
-    arr <- tiledb_array(uri, as.data.frame=TRUE)
+    arr <- tiledb_array(uri, return_as="data.frame")
     lst <- tiledb:::createBatched(arr)
     res1 <- tiledb:::fetchBatched(arr, lst)
     expect_false(completedBatched(lst))
diff --git a/inst/tinytest/test_tiledbarray_extra.R b/inst/tinytest/test_tiledbarray_extra.R
index c8380127bf..01c1121442 100644
--- a/inst/tinytest/test_tiledbarray_extra.R
+++ b/inst/tinytest/test_tiledbarray_extra.R
@@ -37,7 +37,7 @@ A <- tiledb_array(uri = tmp, encryption_key = encryption_key)
 A[I, J] <- data
 
 ## read
-A <- tiledb_array(uri = tmp, as.data.frame=TRUE, encryption_key = encryption_key)
+A <- tiledb_array(uri = tmp, return_as="data.frame", encryption_key = encryption_key)
 chk <- A[1:2, 2:4]
 expect_equal(nrow(chk), 2)
 expect_equal(chk[,"rows"], c(2L,2L))
diff --git a/inst/tinytest/test_timetravel.R b/inst/tinytest/test_timetravel.R
index 90a614b866..81e116d320 100644
--- a/inst/tinytest/test_timetravel.R
+++ b/inst/tinytest/test_timetravel.R
@@ -44,11 +44,11 @@ while (deltat < 30) {
     ## we need an 'epsilon' because when we record 'times' is not exactly where the array timestamp is
     epst <- deltat/2
 
-    res1 <- tiledb_array(uri, as.data.frame=TRUE)[]							 		# no limits
-    res2 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[]    # end after 2nd timestamp
-    res3 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[4]+epst)[] 	# start after fourth
-    res4 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[3]-epst)[]    # end before 3rd
-    res5 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[]
+    res1 <- tiledb_array(uri, return_as="data.frame")[]							 		# no limits
+    res2 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[]    # end after 2nd timestamp
+    res3 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[4]+epst)[] 	# start after fourth
+    res4 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[3]-epst)[]    # end before 3rd
+    res5 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[]
 
     if (isTRUE(all.equal(NROW(res1), 40)) &&                    # all four groups
         isTRUE(all.equal(NROW(res2), 20)) &&		            # expect group one + two (20 elements)
@@ -67,20 +67,20 @@ while (deltat < 30) {
 
 if (!success) exit_file("Issue with time traveling")
 
-res1 <- tiledb_array(uri, as.data.frame=TRUE)[] 		# no limits
+res1 <- tiledb_array(uri, return_as="data.frame")[] 		# no limits
 expect_equal(NROW(res1), 40)                            # all four observations
 
-res2 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[]    # end before 1st timestamp
+res2 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[]    # end before 1st timestamp
 expect_equal(NROW(res2), 20)            # expect group one and two (20 elements)
 
-res3 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[4]+epst)[] # start after fourth
+res3 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[4]+epst)[] # start after fourth
 expect_equal(NROW(res3), 0)             # expect zero data
 
-res4 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[3]-epst)[]    # end before 3rd
+res4 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[3]-epst)[]    # end before 3rd
 expect_equal(NROW(res4), 20)            # expect 2 groups, 20 obs
 expect_equal(max(res4$grp), 2)          # with groups being 1 and 2
 
-res5 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[]
+res5 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[]
 expect_equal(NROW(res5), 20)            # expects 2 groups, 2 and 3, with 20 obs
 expect_equal(min(res5$grp), 2)
 expect_equal(max(res5$grp), 3)
@@ -93,11 +93,11 @@ expect_equal(n, 4)
 times <- do.call(c, lapply(seq_len(n), function(i) tiledb_fragment_info_get_timestamp_range(fi, i-1)[1]))
 
 epstsml <- 0.005
-res1 <- tiledb_array(uri, as.data.frame=TRUE)[]						# no limits
-res2 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[1]+epstsml)[]    	# end after 1st timestamp
-res3 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[4]+epstsml)[]  	# start after fourth
-res4 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[3]-epstsml)[]    	# end before 3rd
-res5 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[2]-epstsml, timestamp_end=times[3]+epstsml)[]
+res1 <- tiledb_array(uri, return_as="data.frame")[]						# no limits
+res2 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[1]+epstsml)[]    	# end after 1st timestamp
+res3 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[4]+epstsml)[]  	# start after fourth
+res4 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[3]-epstsml)[]    	# end before 3rd
+res5 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[2]-epstsml, timestamp_end=times[3]+epstsml)[]
 expect_equal(NROW(res1), 40)
 expect_equal(NROW(res2), 10)		            # expect group one (10 elements)
 expect_equal(NROW(res3), 0)			            # expect zero data
diff --git a/inst/tinytest/test_timetravel_extra.R b/inst/tinytest/test_timetravel_extra.R
index 1ecc6fe04e..85ed426fec 100644
--- a/inst/tinytest/test_timetravel_extra.R
+++ b/inst/tinytest/test_timetravel_extra.R
@@ -38,11 +38,11 @@ now2 <- Sys.time()
 A <- tiledb_array(uri = tmp, timestamp_start=now2)
 A[I, J] <- data
 
-A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now1 - epst)
+A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now1 - epst)
 expect_equal(nrow(A[]), 0)
-A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_start=now1 + epst)
+A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_start=now1 + epst)
 expect_equal(nrow(A[]), 3)
-A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_start=now1 - epst, timestamp_end=now2 - epst)
+A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_start=now1 - epst, timestamp_end=now2 - epst)
 expect_equal(nrow(A[]), 3)
-A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_start=now1 - epst, timestamp_end=now2 + epst)
+A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_start=now1 - epst, timestamp_end=now2 + epst)
 expect_true(nrow(A[]) >= 3)
diff --git a/vignettes/documentation.Rmd b/vignettes/documentation.Rmd
index 54f2275328..b15b11caf0 100644
--- a/vignettes/documentation.Rmd
+++ b/vignettes/documentation.Rmd
@@ -390,7 +390,7 @@ sch <- tiledb_array_schema(dom, c(val))
 tiledb_array_create(tmp, sch)
 
 dat <- matrix(as.integer(rnorm(25)*100), 5, 5)
-arr <- tiledb_dense(tmp, as.data.frame=FALSE)
+arr <- tiledb_array(tmp, return_as = "data.frame")
 arr[] <- dat
 
 
@@ -818,7 +818,7 @@ arr@ptr <- tiledb:::libtiledb_array_reopen(arr@ptr)
 
 ``` r
 # Open the array and read as a data.frame from it.
-A <- tiledb_array(uri = array_name, as.data.frame=TRUE,
+A <- tiledb_array(uri = array_name, return_as = "data.frame",
                   encryption_key = encryption_key)
 
 # Slice rows 1 and 2, and cols 2, 3 and 4
diff --git a/vignettes/documentation.md b/vignettes/documentation.md
index 6c877d8720..36a9959c48 100644
--- a/vignettes/documentation.md
+++ b/vignettes/documentation.md
@@ -391,7 +391,7 @@ sch <- tiledb_array_schema(dom, c(val))
 tiledb_array_create(tmp, sch)
 
 dat <- matrix(as.integer(rnorm(25)*100), 5, 5)
-arr <- tiledb_dense(tmp, as.data.frame=FALSE)
+arr <- tiledb_array(tmp, return_as = "data.frame")
 arr[] <- dat
 
 
@@ -830,7 +830,7 @@ arr@ptr <- tiledb:::libtiledb_array_reopen(arr@ptr)
 
 ```r
 # Open the array and read as a data.frame from it.
-A <- tiledb_array(uri = array_name, as.data.frame=TRUE,
+A <- tiledb_array(uri = array_name, return_as = "data.frame",
                   encryption_key = encryption_key)
 
 # Slice rows 1 and 2, and cols 2, 3 and 4
diff --git a/vignettes/introduction.Rmd b/vignettes/introduction.Rmd
index 373d33cf72..a1b08bc74b 100644
--- a/vignettes/introduction.Rmd
+++ b/vignettes/introduction.Rmd
@@ -77,7 +77,7 @@ the return to be a `data.frame` (instead of a simpler list) and for the
 
 ``` r
 > A <- tiledb_array(uri = uri, attrs = "b",
-+                   as.data.frame=TRUE, extended=FALSE))
++                   return_as = "data.frame", extended=FALSE))
 > A[1:2,2]
 [1] 101.5 104.0
 >
@@ -94,7 +94,7 @@ also works (but needs to account for `rows` and `cols`).
 
 ``` r
 > A <- tiledb_array(uri = uri, attrs = c("a","b"),
-+                   as.data.frame = TRUE)
++                   return_as = "data.frame")
 > A[1:2,2][["a"]]
 [1] 2 7
 > A[1:2,2]$a
@@ -128,7 +128,7 @@ array.
 
 ``` r
 > A <- tiledb_dense(uri = uri, attrs = c("b","c"),
-+                   as.data.frame = TRUE, extended=FALSE)
++                   return_as = "data.frame", extended=FALSE)
 > A[6:9,2:4]
        b     c
 1  114.0 brown
@@ -160,7 +160,7 @@ change. We can also override, users can too.)
 
 ``` r
 > A <- tiledb_array("/tmp/tiledb/ex_1/", attrs=c("b","c"),
-+                   as.data.frame = TRUE, extended=TRUE)
++                   return_as = "data.frame", extended=TRUE)
 > sapply(A[6:9, 3:4], "class")
        rows        cols           b           c
   "integer"   "integer"   "numeric" "character"
@@ -252,7 +252,7 @@ illustrates some basic operations on sparse arrays. It also shows date
 and datetime types instead of just integer and double precision floats.
 
 ``` r
-> A <- tiledb_array(uri = uri, as.data.frame = TRUE)
+> A <- tiledb_array(uri = uri, return_as = "data.frame")
 > A[1577858403:1577858408]
         rows cols a   b          d                       e
 1 1577858403    1 3 103 2020-01-11 2020-01-02 18:24:33.844
diff --git a/vignettes/introduction.md b/vignettes/introduction.md
index 90add7c2d5..faddfdece0 100644
--- a/vignettes/introduction.md
+++ b/vignettes/introduction.md
@@ -54,7 +54,7 @@ and for the (row and column, if present as here) indices to not be printed (via
 
 ```r
 > A <- tiledb_array(uri = uri, attrs = "b",
-+                   as.data.frame=TRUE, extended=FALSE))
++                   return_as = "data.frame", extended=FALSE))
 > A[1:2,2]
 [1] 101.5 104.0
 >
@@ -70,7 +70,7 @@ returned object works via `[[var]]` or `$var`.  A numeric index also works (but
 
 ```r
 > A <- tiledb_array(uri = uri, attrs = c("a","b"),
-+                   as.data.frame = TRUE)
++                   return_as = "data.frame")
 > A[1:2,2][["a"]]
 [1] 2 7
 > A[1:2,2]$a
@@ -102,7 +102,7 @@ We can restrict the selection to a subset of attributes when opening the array.
 
 ```r
 > A <- tiledb_dense(uri = uri, attrs = c("b","c"),
-+                   as.data.frame = TRUE, extended=FALSE)
++                   return_as = "data.frame", extended=FALSE)
 > A[6:9,2:4]
        b     c
 1  114.0 brown
@@ -120,7 +120,7 @@ We can restrict the selection to a subset of attributes when opening the array.
 >
 ```
 
-This also illustrated the effect of setting `as.data.frame=TRUE` when opening the array.
+This also illustrated the effect of setting `return_as = "data.frame"` when opening the array.
 
 This scheme can be generalized to variable cells, or cells where N>1, as we can expand each
 (atomistic) value over corresponding row and column indices.
@@ -131,7 +131,7 @@ which is about to change. We can also override, users can too.)
 
 ```r
 > A <- tiledb_array("/tmp/tiledb/ex_1/", attrs=c("b","c"),
-+                   as.data.frame = TRUE, extended=TRUE)
++                   return_as = "data.frame", extended=TRUE)
 > sapply(A[6:9, 3:4], "class")
        rows        cols           b           c
   "integer"   "integer"   "numeric" "character"
@@ -220,7 +220,7 @@ illustrates some basic operations on sparse arrays. It also shows date and datet
 just integer and double precision floats.
 
 ```r
-> A <- tiledb_array(uri = uri, as.data.frame = TRUE)
+> A <- tiledb_array(uri = uri, return_as = "data.frame")
 > A[1577858403:1577858408]
         rows cols a   b          d                       e
 1 1577858403    1 3 103 2020-01-11 2020-01-02 18:24:33.844