Releases: ropensci/nodbi
Releases Β· ropensci/nodbi
nodbi v0.10.4
nodbi v0.10.3
Bug fix
- minor fixes to
limit
indocdb_query(src, key, query, listfields = TRUE, limit = <integer>)
and speed up
nodbi v0.10.2
Changes
- added vignette
- added tests internal functions, verbose option
- added caching to GitHub action workflow
- added missing fields validity check for duckdb
- more robust parameter checks in
docdb_query
anddocdb_update
- ensure
NULL
also for all MongoDB returns
Bug fixes
- docTyp'ed src.R
- minify
JSON
with Elasticsearch indocdb_update
- moved local variable out of UseMethod in
docdb_query
nodbi v0.10.1
Bug fix
- make
docdb_get()
work again forsrc_sqlite()
by castingJSONB
back toJSON
nodbi v0.10.0
Deprecated
- empty parameter
query
now triggers a warning as it should be a valid JSON string; changequery = ""
intoquery = "{}"
Changes
- adapted to use new, faster
JSONB
functions inSQLite
3.45.0 (RSQLite
>= 2.3.4.9005) - refactored parts of
docdb_create()
to speed up handling large data frames and lists - made Elasticsearch to immediately refresh index after
docdb_create()
and other functions docdb_update()
now reports which records failed to update and then continuesdocdb_delete()
now returns harmonised success logical value across backends
Potentially breaking change
docdb_query()
reimplementation to have the same functionality across all databases (DuckDB, SQLite, PostgreSQL, MongoDB, Elasticsearch, CouchDB); even though the API and unit tests remained, user provisions may break e.g. to handle return values of databases that previously were incompletely implemented (in particular Elasticsearch and CouchDB). Details:
query
can now be complex (nested, various operators) and is digested with a Javascript helperfields
can now be nested fields (e.g.,friends.name
) to directly return values lifted from the nested fieldlistfields
parameter newly implemented to return dot paths for all fields of all or selected documents in collection- expanded use of
jq
viajqr
for mangling parameters, selecting documents, filtering fields and lifting nested field values - if no data are found, returns
NULL
(previously some backends returned an empty data frame) docdb_query(src, key, query = "{}", fields = "{}")
now delegates todocdb_get(src, key)
_id
is always returned, unless specified with"_id": 0
in parameterfields
- for
scr_postgres
, only fewer than 50 fields if any can be specified infields
- for
src_sqlite
, minimise the use of the time-costlyjson_tree
- workaround for path collisions of MongoDB
- some acceleration of
docdb_query()
- factored out common code
- expanded testing
- updated docs
nodbi v0.9.8
- escaping newline character within a JSON value, in
docdb_*()
functions
nodbi v0.9.7
- changed
docdb_update()
to directly use ndjson from file for duckdb - regression error from not specifying top-level jq script
- corrected and improve field selection in
docdb_query()
- corrected test exceptions for mongodb, updated GitHub Actions, expanded tests
- changed
docdb_update()
to directly use ndjson from file for duckdb - cleaned up unnecessary code in
docdb_create()
- no more using transactions with
src_duckdb()
nodbi v0.9.6
- corrected marginal case in
docdb_query.src_duckdb()
- corrected minimum R version
- replaced in tests
httpbin
withwebfakes
- removed explicit UTF-8 encoding reference
- speed up in
docdb_query()
- switched to v2 GitHub r-lib/action for R CMD check
nodbi v0.9.5
- replaced a dependency, gained speed
nodbi v0.9.4
- fix initialisation in docdb_query with src_duckdb