• 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.
    • Requires SciDBR v3.1.2
  • 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).

Major changes

Minor changes

First public release of the arrayop package