You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tiledb_group_open() was meant to default to 'READ' without manual typing it. This happens because the match.arg(type) is placed after the version check with regards to type options, hence it errors about the length.
library(tiledb)
uri<- tempfile()
tiledb_group_create(uri)
grp<- tiledb_group(uri) # Defaults to READgrp<- tiledb_group_close(grp)
tiledb_group_open(grp) # Should default to READ#> Error in type != "MODIFY_EXCLUSIVE" || tiledb_version(TRUE) >= "2.12.0": 'length = 3' in coercion to 'logical(1)'
tiledb_group_open(grp, type="READ")
#> filee887faf6ad3 GROUP
body(tiledb_group_open)
{
stopifnot(`The 'grp' argument must be a tiledb_group object`= is(grp,
"tiledb_group"), `This function needs TileDB 2.8.*`= .tiledb28(),
`Using 'MODIFY_EXCLUSIVE' needs TileDB 2.12.* or later`=type!="MODIFY_EXCLUSIVE"|| tiledb_version(TRUE) >="2.12.0")
type<- match.arg(type) # <==================== Nope!grp@ptr<- libtiledb_group_open(grp@ptr, type)
grp
}
On the other hand tiledb_array_open() doesn't have this issue because does it differently; it performs the check inside the type argument, see below:
tiledb_group_open()
was meant to default to 'READ' without manual typing it. This happens because thematch.arg(type)
is placed after the version check with regards to type options, hence it errors about the length.On the other hand
tiledb_array_open()
doesn't have this issue because does it differently; it performs the check inside the type argument, see below:Perhaps,
tiledb_array_open()
should list the type options astiledb_group_open()
and do the version check inside.The text was updated successfully, but these errors were encountered: