- Don’t automatically attach scidb on load (scidb moved from Depends to Imports)
- Correct a slightly nonstandard use of
glue()
to be compatible with glue v1.8.0
- Update the automated github testing script
- Use
pak
instead of remotes
- Use ubuntu-latest instead of pinning 20.04
- Update the versions of R tested against
- Correctly tracks reference to arrayop objects in various ArrayOpR verbs: mutate, drop_dims, sync_schema, change_schema, the index_lookup and cross_between modes of semi_join, afl_redimension, update, set_auto_fields, and summarize
- Requires references to be a named list and adds a public $inherit_refs() method to ArrayOpBase, taking another such object as the argument.
- Adds reference count checks in operand exit handlers, with a configurable stringency; the default stringency is 1 (i.e. throw warnings), but is set to 0 (i.e. throw errors) in all unit tests. These checks compare the names of references in the output to the union of names of references in the inputs.
- Introduces new
db$afl2(...)
and %afl%
methods for creating or modifying an aop from an AFL-like expression, using non-standard evaluation. Values of R objects can be included using normal rlang !!
syntax; if the R object is an aop its AFL is inserted and its references are inherited, and it if is a scidb expression object it is exported to AFL. The non-standard evaluation takes “AFL-like” and not exact AFL because it must handle several call/infix names in a special manner where raw AFL is not a lexically valid R expression – e.g. afl()
, R()
, as()
, from()
, :
, c()
, and add_arg()
.
- Also includes specials calls available in
%afl%
chains: sync_schema()
, to_afl()
, to_schema_str()
, to_df()
, to_df_all()
, to_dt()
, and to_dt_all()
; the last four default to use arrow=TRUE
which is overrideable with the option "arrayop.arrow"
. For consistency, $to_df()
and $to_df_all()
remain to be non-arrow by default, but will pay attention to the "arrayop.arrow"
option.
- Improves
$mutate(..)
logic to produce more minimal AFL, via the use of %afl%
- Updates the vignettes to use |> instead of the magrittr %>% operator
- Replaces devtools::load_all() with library(arrayop) in the vignette connection code
- Removes the generated documentation from th source branch
- Removes Remotes section from DESCRIPTION
- Adds apply_join mode to inner, left, and semi joins, and improves join documentation
- Correctly tracks references to arrayop objects in the create_new and join operations
- Removes SciDB 18 support and corrects SciDB 23 unit test failures
- Updates automated workflows to use SciDB 23.10 and Shim and/or the HTTP API
- Fixes an issue on print when called as attribute of class
- Includes hotfix for
use_arrow
- Finalizers now use SciDBR’s
gc
capability for all persistantly stored gc’able arrays. This should fix cases where R’s GC capability prematurely removed arrays stored in SciDB.
- Adds support for returning dataframes using the sciDBR
use_arrow
option.
Minor Changes
- Add a
db
param to arrayop::db_connect
function. This works when the clients already have a valid database connection and the username/token params are not required.
Minor Changes
- Add a
save_token = FALSE
param to arrayop::db_connect function, so that by default no user password/token is stored in db connection object unless save_token = TRUE
(useful in test settings).
Minor changes
- Rename version related API
First public release of the arrayop
package