Install the package from CRAN with
install.packages("scidb")
The current development version of the package can be installed directly from sources on GitHub using the devtools package as follows (requires an R development environment and the R devtools package):
devtools::install_github("Paradigm4/SciDBR") # development branch
# or
devtools::install_github("Paradigm4/SciDBR", ref="laboratory") # experimental branch
The SciDB R package requires installation of a simple open-source HTTP network service called on the computer that SciDB is installed on. This service only needs to be installed on the SciDB machine, not on client computers that connect to SciDB from R. See http://github.com/paradigm4/shim for source code and installation instructions.
Developers please note that R CMD check-style unit tests are skipped unless a system environment variable named SCIDB_TEST_HOST is set to the host name or I.P. address of SciDB. See the tests directory for test code.
GitHub branch policy: the "devel" branch is for new ideas that have a good
chance of making it into the CRAN package, but all tests might not yet pass.
The "master" branch should pass all R CMD check
tests against the current
R-devel version of R on all platforms, tested against the current SciDB release.
Getting Started Documentation
https://Paradigm4.github.io/SciDBR
Changes in package version 2.0.0
This is a major release that breaks API compatibility with previous package releases. Array objects have been removed. All SciDB arrays are now presented as virtual data frames in R. This change was informed by the most common uses we've seen.
Debug logging
To enable extra logging at runtime, use the following options:
options(scidb.debug=TRUE)
: enable debug-level loggingoptions(scidb.trace=TRUE)
: enable trace-level loggingoptions(scidb.debug=2)
: enable trace-level logging (legacy compatibility)options(scidb.trace.http=TRUE)
: log HTTP requests and responses, including URLs, headers, and dataoptions(scidb.trace.api=TRUE)
: log calls to@export
-ed functions, including full printouts of their arguments and return valuesoptions(scidb.trace.api='internal')
: log important internal calls toooptions(scidb.log.mask=TRUE)
: mask UIDs and hashes in logging output to make it easier to compare logs between two different runs
To control length of strings in trace logging:
options(scidb.trace.api.maxlength=999)
: Set maximum length of a log statement when scidb.trace.api=TRUEoptions(scidb.trace.api.maxitems=99)
: Set maximum number of list elements to print when scidb.trace.api=TRUEoptions(scidb.trace.http.maxlength.json=2999)
: Set maximum length of JSON to print when scidb.trace.http=TRUEoptions(scidb.trace.http.maxlength.text=2999)
: Set maximum length of non-JSON text content to print when scidb.trace.http=TRUEoptions(scidb.trace.http.maxlength.binary=19)
: Set maximum length of binary content to print as a hex dump when scidb.trace.http=TRUE
Note that trace-level log messages can significantly slow down the operation of the API, so only use them when debugging a problem or when the query you are logging returns a small amount of data.