diff options
author | Robert Newson <rnewson@apache.org> | 2020-07-05 15:15:05 +0100 |
---|---|---|
committer | Robert Newson <rnewson@apache.org> | 2020-07-05 15:15:05 +0100 |
commit | 0ea8ddd685972852f60e0a93f26f652e78a07673 (patch) | |
tree | 630e8cad0d4e4c49bb41238663e2cd3fc7468fef | |
parent | c4cb82d868924ae462c820545169b4eda6a93ec9 (diff) | |
download | couchdb-0ea8ddd685972852f60e0a93f26f652e78a07673.tar.gz |
move full_reduce
-rw-r--r-- | src/ebtree.erl | 24 |
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) -> |