summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2019-08-06 12:20:59 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2019-08-06 12:20:59 -0500
commit554c594a944646bfee81c5bdf2f5a252d4e4c4da (patch)
tree0ade5a8d4d93c6fd9ec74ecbce8c3686003f9675
parentd6e856d45c64ee52560f40ee055d1b94d3f80e82 (diff)
downloadcouchdb-554c594a944646bfee81c5bdf2f5a252d4e4c4da.tar.gz
Update to use new fold_range_future/wait functions
-rw-r--r--src/fabric/src/fabric2_fdb.erl13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/fabric/src/fabric2_fdb.erl b/src/fabric/src/fabric2_fdb.erl
index 71cb68f21..be629949b 100644
--- a/src/fabric/src/fabric2_fdb.erl
+++ b/src/fabric/src/fabric2_fdb.erl
@@ -398,19 +398,20 @@ get_winning_revs_future(#{} = Db, DocId, NumRevs) ->
{StartKey, EndKey} = erlfdb_tuple:range({?DB_REVS, DocId}, DbPrefix),
Options = [{reverse, true}, {limit, NumRevs}],
- erlfdb:get_range_raw(Tx, StartKey, EndKey, Options).
+ erlfdb:fold_range_future(Tx, StartKey, EndKey, Options).
-get_winning_revs_wait(#{} = Db, Future) ->
+get_winning_revs_wait(#{} = Db, RangeFuture) ->
#{
+ tx := Tx,
db_prefix := DbPrefix
} = ensure_current(Db),
- {Rows, _, _} = erlfdb:wait(Future),
- lists:map(fun({K, V}) ->
+ RevRows = erlfdb:fold_range_wait(Tx, RangeFuture, fun({K, V}, Acc) ->
Key = erlfdb_tuple:unpack(K, DbPrefix),
Val = erlfdb_tuple:unpack(V),
- fdb_to_revinfo(Key, Val)
- end, Rows).
+ [fdb_to_revinfo(Key, Val) | Acc]
+ end, []),
+ lists:reverse(RevRows).
get_non_deleted_rev(#{} = Db, DocId, RevId) ->