Skip to content

Commit

Permalink
prepare for release
Browse files Browse the repository at this point in the history
  • Loading branch information
rfhb committed Aug 7, 2023
1 parent 7e7b775 commit 9b84ebc
Show file tree
Hide file tree
Showing 37 changed files with 256 additions and 278 deletions.
14 changes: 9 additions & 5 deletions .github/workflows/check-standard.yml
Expand Up @@ -35,6 +35,12 @@ jobs:

# nodbi on linux:

- name: PostgreSQL
uses: ankane/setup-postgres@v1
with:
postgres-version: 14
database: test

- name: MongoDB
if: runner.os == 'Linux'
uses: supercharge/mongodb-github-action@1.3.0
Expand Down Expand Up @@ -84,8 +90,8 @@ jobs:

- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check
extra-packages: rcmdcheck, covr, sofa, elastic, mongolite, DBI, duckdb, RSQLite, webfakes
needs: check, coverage

- uses: r-lib/actions/setup-r-dependencies@v2
with:
Expand All @@ -94,9 +100,8 @@ jobs:

# nodbi:

- name: Install dependencies
- name: Install duckdb extension library
run: |
utils::install.packages(c("rcmdcheck", "sofa", "elastic", "mongolite", "DBI", "duckdb", "RSQLite", "webfakes"))
library(duckdb)
drv <- duckdb()
con <- dbConnect(drv)
Expand All @@ -120,4 +125,3 @@ jobs:
shell: Rscript {0}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

2 changes: 1 addition & 1 deletion DESCRIPTION
Expand Up @@ -4,7 +4,7 @@ Description: Simplified document database access and manipulation,
providing a common API across supported 'NoSQL' databases
'Elasticsearch', 'CouchDB', 'MongoDB' as well as
'SQLite/JSON1', 'PostgreSQL', and 'DuckDB'.
Version: 0.9.5.9000
Version: 0.9.6
Authors@R: c(
person(given = "Ralf",
family = "Herold",
Expand Down
174 changes: 72 additions & 102 deletions NEWS.md
@@ -1,212 +1,182 @@
nodbi 0.9.5.9000
================
# nodbi 0.9.6

### Changes
* switched from v1 to v2 GitHub r-lib/action for R CMD check

### BUG FIXES
* corrected marginal case in docdb_query.src_duckdb()
## Bug fixes
* corrected marginal case in `docdb_query.src_duckdb()`
* corrected minimum R version
* replaced for testing httpbin with webfakes
* replaced in tests `httpbin` with `webfakes`
* removed explicit UTF-8 encoding reference
* speed up in docdb_query()
* speed up in `docdb_query()`
* switched to v2 GitHub r-lib/action for R CMD check

nodbi 0.9.5
================
# nodbi 0.9.5

### Changes
## Changes
* replaced a dependency, gained speed

nodbi 0.9.4
================
# nodbi 0.9.4

### BUG FIXES
* fix initialisation in docdb_query with src_duckdb
## Bug fixes
* fix initialisation in `docdb_query()` with `src_duckdb()`

nodbi 0.9.3
================
# nodbi 0.9.3

### Changes
* docdb_update() now can do bulk updates when _id's are in 'value' (for SQLite, DuckDB, PostgreSQL, MongoDB; not yet for CouchDB and Elastic)
## Changes
* `docdb_update()` now can do bulk updates when _id's are in `value`
(for SQLite, DuckDB, PostgreSQL, MongoDB; not yet for CouchDB and Elastic)

### BUG FIXES
## Bug fixes
* fix tests for value parameter to be a file or an url

nodbi 0.9.2
================
# nodbi 0.9.2

### BUG FIXES
* src_duckdb(): handle when json_type returns NULL for non-existing path (2023-02-18)
* src_sqlite(): handle when text includes double quotation marks (2023-03-25)
## Bug fixes
* `src_duckdb()` handles when json_type returns NULL for non-existing path
* `src_sqlite()` handles when text includes double quotation marks

### Changes
## Changes
* added warning if DuckDB's JSON extension is not available; improve instructions; see also issue #45
* minor simplification of docdb_exists() for src_mongo(), and of docdb_query() for SQL databases
* minor simplification of `docdb_exists()` for `src_mongo()`, and of `docdb_query()` for SQL databases

nodbi 0.9.1
================
# nodbi 0.9.1

### Changes
## Changes
* corrected closing connections to SQL database backends upon session restart
* improved provisions for parallel write access and corresponding tests
* capture marginal case of no rows in docdb_query()
* capture marginal case of no rows in `docdb_query()`

nodbi 0.9.0
================
# nodbi 0.9.0

### Changes
## Changes
* adding support for duckdb (R package version 0.6.0 or higher) as database backend
* suppressed warnings when checking if a string points to a file

nodbi 0.8.1
===========
# nodbi 0.8.1

### Changes
* replaced isa() as not available with R version 3.x
## Changes
* replaced `isa()` as not available with R version 3.x

nodbi 0.8.0
===========
# nodbi 0.8.0

### Changes
* refactored `docdb_update.src_couchdb` to use `jqr`
## Changes
* refactored `docdb_update.src_couchdb()` to use `jqr`
* adapted `docdb_create` to accept `jsonlite`, `jsonify`, `jqr` JSON
* added details to README
* testing (unset LANG, relocate open code, better cleaning up)

nodbi 0.7.1
================
# nodbi 0.7.1

### BUG FIXES
* fixed `docdb_query` to account for change in SQLite 3.38.3 adding quotation of labels (closes issue #44), test added
* made `docdb_query` work for PostgreSQL when a string used with the `$in` operator has a comma(s), test added
## Bug fixes
* fixed `docdb_query()` to account for change in SQLite 3.38.3 adding quotation of labels (closes issue #44), test added
* made `docdb_query()` work for PostgreSQL when a string used with the `$in` operator has a comma(s), test added

nodbi 0.7.0
===========
# nodbi 0.7.0

### IMPROVEMENTS
* `docdb_create` now supports file names and http urls as argument `value` for importing data
* `docdb_create` (and thus `docdb_update`) now supports quantifiers (e.g., '[a-z]{2,3}') in regular expressions
## Improvements
* `docdb_create()` now supports file names and http urls as argument `value` for importing data
* `docdb_create()` (and thus `docdb_update()`) now supports quantifiers (e.g., '[a-z]{2,3}') in regular expressions

### BUG FIXES
* for SQLite, return `FALSE` like other backends when using `docdb_delete` for a non-existing container (table, in the case of SQLite)
## Bug fixes
* for SQLite, return `FALSE` like other backends when using `docdb_delete()` for a non-existing container (table, in the case of SQLite)
* better handle special characters and encodings under Windows

nodbi 0.6.0
===========
# nodbi 0.6.0

### IMPROVEMENTS
## Improvements
* full support for PostgreSQL (using jsonb)

### BUG FIXES
## Bug fixes
* for SQLite add closing file references also on exit

nodbi 0.5.1
===========
# nodbi 0.5.1

### BUG FIXES
## Bug fixes
* for SQLite under Windows ensure handling of special characters (avoiding encoding conversions with file operations that stream out / in NDJSON)

nodbi 0.5.0
===========
# nodbi 0.5.0

### IMPROVEMENTS
## Improvements
* identical API for `docdb_*()` functions so that `query` and `fields` parameters can be used across database backends
* identical return values across database backends

### UNDER THE HOOD
* re-factored recently added functions for RSQLite
* re-factored most functions to provide identical API
* performance (timing and memory use) profiled and optimised as far as possible

### OTHER CHANGES
* testing now uses the same test file across databases
* currently, no more support for redis (no way was found to query and update specific documents in a container)
* `docdb_list()` added as function to list container in database

### NOTES
## Notes
* Support for complex queries not yet implemented for Elasticsearch
* Only root fields (no subitems) returned by Elasticsearch and CouchDB

nodbi 0.4.4
===========
# nodbi 0.4.4

### MINOR IMPROVEMENTS
## Improvements
* made remaining `docdb_*()` functions return a logical indicating the success of the function (`docdb_create`, `docdb_delete`), or a data frame (`docdb_get`, `docdb_query`), or the number of documents affected by the function (`docdb_update`)
* change testing approach

### BUG FIXES
## Bug fixes
* `docdb_get()` to not return '_id' field for `src_{sqlite,mongo}` since already used for row names

### OTHER
* change testing approach

nodbi 0.4.3
===========
# nodbi 0.4.3

### MINOR IMPROVEMENTS
## Improvements
* `docdb_query.src_sqlite()` now handles JSON objects, returning nested lists (#40)
* `src_sqlite()` now uses transactions for relevant functions (#39)
* `docdb_update.src_mongo()` now returns the number of upserted or matched documents, irrespective of whether
they were updated or not

### BUG FIXES
## Bug fixes
* `docdb_get()` to not return '_id' field for `src_{sqlite,mongo}` since already used for row names

### OTHER
## Other
* change of maintainer agreed

nodbi 0.4.2
===========
# nodbi 0.4.2

### BUG FIXES
## Bug fixes

* fix for `src_couchdb()`: we were not setting user and password correctly internally, was causing issues in CouchDB v3 (#35) thanks to @drtagkim for the pull request

nodbi 0.4.0
===========
# nodbi 0.4.0

### MINOR IMPROVEMENTS
## Improvements

* in `docdb_query()` and `docdb_get()`, for sqlite source, use a connection instead of a regular file path to avoid certain errors on Windows (#33) work by @rfhb
* in `docdb_query()` and `docdb_create()` for sqlite source, fix to handle mixed values of different types (#34) work by @rfhb
* some Sys.sleep's added to Elasticserch eg's to make sure data is available after creation, and before a data request

nodbi 0.3.0
===========
# nodbi 0.3.0

### NEW FEATURES
## New features

* new author Ralf Herold, with contribution of new functions for working with SQLite/json1. new functions: `src_sqlite`, `print.src_sqlite`, `docdb_create.src_sqlite`, `docdb_delete.src_sqlite`, `docdb_exists.src_sqlite`, `docdb_get.src_sqlite`, `docdb_query.src_sqlite`, and `docdb_update.src_sqlite`. includes new dataset `contacts` (#25) (#27) (#28) (#29) (#30) (#31)
* `docdb_update` gains method for working with MongoDB, via (#27)

### MINOR IMPROVEMENTS
## Improvements

* added `.github` files in the source repository to facilitate contributions
* `src_mongo` changes, improved behavior, via (#27)

### DEFUNCT
## Defunct

* `etcd` (via the `etseed` package) integration has been removed from this package as etcd doesn't really fit the main goal of the pkg. functions now defunct are: `src_etcd`, `docdb_create.src_etcd`, `docdb_delete.src_etcd`, `docdb_exists.src_etcd`, `docdb_get.src_etcd`, and `print.src_etcd` (#26)

# nodbi 0.2.0

nodbi 0.2.0
===========

### NEW FEATURES
## New features

* `docdb_get()` gains `limit` parameter to do pagination, for CouchDB,
Elasticsearch and MongoDB only (#17) (#23)
* gains function `docdb_query()` to send queries to each backend (#18) (#22)
* gains function `docdb_exists()` to check if a database or equivalent exists (#21) (#22)

### MINOR IMPROVEMENTS
## Improvements

* Updated package for new version of `elastic`, which has slightly different
setup for connecting to the Elasticsearch instance (#20)

# nodbi 0.1.0

nodbi 0.1.0
===========

### NEW FEATURES
## New features

* released to CRAN
8 changes: 5 additions & 3 deletions README.Rmd
Expand Up @@ -17,10 +17,12 @@ knitr::opts_chunk$set(
```

[![CRAN](https://cranchecks.info/badges/worst/nodbi)](https://cran.r-project.org/package=nodbi) [![Project Status: Active -- The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![cran checks](https://cranchecks.info/badges/worst/nodbi)](https://cranchecks.info/pkgs/nodbi) [![R-CMD-check](https://github.com/ropensci/nodbi/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/nodbi/actions?query=workflow%3AR-CMD-check) [![codecov](https://codecov.io/gh/rfhb/nodbi/branch/master/graph/badge.svg)](https://app.codecov.io/gh/rfhb/nodbi)
[![rstudio mirror downloads](http://cranlogs.r-pkg.org/badges/nodbi)](https://github.com/r-hub/cranlogs.app) [![cran version](https://www.r-pkg.org/badges/version/nodbi)](https://cran.r-project.org/package=nodbi)
[![R-CMD-check](https://github.com/ropensci/nodbi/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/nodbi/actions?query=workflow%3AR-CMD-check)
[![codecov](https://codecov.io/gh/rfhb/nodbi/branch/master/graph/badge.svg)](https://app.codecov.io/gh/rfhb/nodbi)
[![CRAN status](https://www.r-pkg.org/badges/version/nodbi)](https://CRAN.R-project.org/package=nodbi)
[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)

`nodbi` is an R package that provides a single interface for several NoSQL databases and databases with JSON functionality, with the same function parameters and return values across all database backends. Last updated 2023-07-28.
`nodbi` is an R package that provides a single interface for several NoSQL databases and databases with JSON functionality, with the same function parameters and return values across all database backends. Last updated 2023-08-07.

| Currently, `nodbi` supports as database backends | for an `R` object of any of these data types | for the operations |
|------------------------|------------------------|------------------------|
Expand Down
16 changes: 5 additions & 11 deletions README.md
@@ -1,23 +1,17 @@

# nodbi

[![CRAN](https://cranchecks.info/badges/worst/nodbi)](https://cran.r-project.org/package=nodbi)
[![Project Status: Active – The project has reached a stable, usable
state and is being actively
developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![cran
checks](https://cranchecks.info/badges/worst/nodbi)](https://cranchecks.info/pkgs/nodbi)
[![R-CMD-check](https://github.com/ropensci/nodbi/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/nodbi/actions?query=workflow%3AR-CMD-check)
[![codecov](https://codecov.io/gh/rfhb/nodbi/branch/master/graph/badge.svg)](https://app.codecov.io/gh/rfhb/nodbi)
[![rstudio mirror
downloads](http://cranlogs.r-pkg.org/badges/nodbi)](https://github.com/r-hub/cranlogs.app)
[![cran
version](https://www.r-pkg.org/badges/version/nodbi)](https://cran.r-project.org/package=nodbi)
[![CRAN
status](https://www.r-pkg.org/badges/version/nodbi)](https://CRAN.R-project.org/package=nodbi)
[![Lifecycle:
stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)

`nodbi` is an R package that provides a single interface for several
NoSQL databases and databases with JSON functionality, with the same
function parameters and return values across all database backends. Last
updated 2023-07-28.
updated 2023-08-07.

| Currently, `nodbi` supports as database backends | for an `R` object of any of these data types | for the operations |
|--------------------------------------------------|----------------------------------------------|--------------------|
Expand Down

0 comments on commit 9b84ebc

Please sign in to comment.