summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2020-07-05 15:15:05 +0100
committerRobert Newson <rnewson@apache.org>2020-07-05 15:15:05 +0100
commit0ea8ddd685972852f60e0a93f26f652e78a07673 (patch)
tree630e8cad0d4e4c49bb41238663e2cd3fc7468fef
parentc4cb82d868924ae462c820545169b4eda6a93ec9 (diff)
downloadcouchdb-0ea8ddd685972852f60e0a93f26f652e78a07673.tar.gz
move full_reduce
-rw-r--r--src/ebtree.erl24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/ebtree.erl b/src/ebtree.erl
index de6012263..cb50de074 100644
--- a/src/ebtree.erl
+++ b/src/ebtree.erl
@@ -100,18 +100,6 @@ lookup(Db, #tree{} = Tree, Key) ->
end,
fold(Db, Tree, Fun, false).
-%% full reduce
-
-full_reduce(Db, #tree{} = Tree) ->
- Fun = fun
- ({visit, _K, V}, {Acc, _}) ->
- {ok, {[V | Acc], false}};
- ({traverse, _F, _L, R}, {Acc, _}) ->
- {skip, {[R | Acc], true}}
- end,
- {Values, Rereduce} = fold(Db, Tree, Fun, {[], false}),
- reduce_values(Tree, Values, Rereduce).
-
%% fold
fold(Db, #tree{} = Tree, Fun, Acc) ->
@@ -152,6 +140,18 @@ fold(Db, #tree{} = Tree, [{F, L, P, R} | Rest], Fun, Acc0) ->
{stop, Acc1}
end.
+%% full reduce
+
+full_reduce(Db, #tree{} = Tree) ->
+ Fun = fun
+ ({visit, _K, V}, {Acc, _}) ->
+ {ok, {[V | Acc], false}};
+ ({traverse, _F, _L, R}, {Acc, _}) ->
+ {skip, {[R | Acc], true}}
+ end,
+ {Values, Rereduce} = fold(Db, Tree, Fun, {[], false}),
+ reduce_values(Tree, Values, Rereduce).
+
%% reduce
reduce(Db, #tree{} = Tree, StartKey, EndKey) ->