This is an automated email from the ASF dual-hosted git repository. davisp pushed a commit to branch prototype/fdb-layer-get-dbs-info in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit ce5a6c74b55980f42686b0e7364c89176c58365f Author: Paul J. Davis <paul.joseph.da...@gmail.com> AuthorDate: Tue Dec 3 12:44:34 2019 -0600 Implement async API for `fabric2_fdb:get_info/1` --- src/fabric/src/fabric2_fdb.erl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/fabric/src/fabric2_fdb.erl b/src/fabric/src/fabric2_fdb.erl index 39b902f..f8efbd2 100644 --- a/src/fabric/src/fabric2_fdb.erl +++ b/src/fabric/src/fabric2_fdb.erl @@ -29,6 +29,8 @@ list_dbs/4, get_info/1, + get_info_future/2, + get_info_wait/1, set_config/3, get_stat/2, @@ -326,7 +328,10 @@ get_info(#{} = Db) -> tx := Tx, db_prefix := DbPrefix } = ensure_current(Db), + get_info_wait(get_info_future(Tx, DbPrefix)). + +get_info_future(Tx, DbPrefix) -> {CStart, CEnd} = erlfdb_tuple:range({?DB_CHANGES}, DbPrefix), ChangesFuture = erlfdb:get_range(Tx, CStart, CEnd, [ {streaming_mode, exact}, @@ -337,6 +342,10 @@ get_info(#{} = Db) -> StatsPrefix = erlfdb_tuple:pack({?DB_STATS}, DbPrefix), MetaFuture = erlfdb:get_range_startswith(Tx, StatsPrefix), + {DbPrefix, ChangesFuture, MetaFuture}. + + +get_info_wait({DbPrefix, ChangesFuture, MetaFuture}) -> RawSeq = case erlfdb:wait(ChangesFuture) of [] -> vs_to_seq(fabric2_util:seq_zero_vs());