This is an automated email from the ASF dual-hosted git repository. davisp pushed a commit to branch opentracing-davisp in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 4f99db47cfe17dbe588df7c53d32413af8f95cdd Author: Paul J. Davis <[email protected]> AuthorDate: Tue Nov 5 12:09:53 2019 -0600 Use the cached security_doc and revs_limit The previous change here required that we ensure that the database is up to date but that doesn't mean we have to re-read the security_doc from the database when we have a valid cached version. --- src/fabric/src/fabric2_db.erl | 20 ++++++++++++-------- src/fabric/src/fabric2_fdb.erl | 2 ++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/fabric/src/fabric2_db.erl b/src/fabric/src/fabric2_db.erl index 4489064..668d26d 100644 --- a/src/fabric/src/fabric2_db.erl +++ b/src/fabric/src/fabric2_db.erl @@ -359,17 +359,21 @@ get_pid(#{}) -> get_revs_limit(#{} = Db) -> - RevsLimitBin = fabric2_fdb:transactional(Db, fun(TxDb) -> - fabric2_fdb:get_config(TxDb, <<"revs_limit">>) - end), - ?bin2uint(RevsLimitBin). + fabric2_fdb:transactional(Db, fun(TxDb) -> + #{ + revs_limit := RevsLimit + } = fabric2_fdb:ensure_current(TxDb), + RevsLimit + end). get_security(#{} = Db) -> - SecBin = fabric2_fdb:transactional(Db, fun(TxDb) -> - fabric2_fdb:get_config(TxDb, <<"security_doc">>) - end), - ?JSON_DECODE(SecBin). + fabric2_fdb:transactional(Db, fun(TxDb) -> + #{ + security_doc := Security + } = fabric2_fdb:ensure_current(TxDb), + Security + end). get_update_seq(#{} = Db) -> diff --git a/src/fabric/src/fabric2_fdb.erl b/src/fabric/src/fabric2_fdb.erl index a77a1e9..2922a14 100644 --- a/src/fabric/src/fabric2_fdb.erl +++ b/src/fabric/src/fabric2_fdb.erl @@ -26,6 +26,8 @@ delete/1, exists/1, + ensure_current/1, + get_dir/1, list_dbs/4,
