You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2020/07/24 18:53:21 UTC
[couchdb] 03/04: Fix ranges over empty trees
This is an automated email from the ASF dual-hosted git repository.
davisp pushed a commit to branch prototype/fdb-layer-ebtree-views
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 5ee57da4e6faf66d1d67417cf3ae5de11e4b631b
Author: Paul J. Davis <pa...@gmail.com>
AuthorDate: Fri Jul 24 13:46:38 2020 -0500
Fix ranges over empty trees
---
src/ebtree/src/ebtree.erl | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/ebtree/src/ebtree.erl b/src/ebtree/src/ebtree.erl
index 353e466..78dc0e0 100644
--- a/src/ebtree/src/ebtree.erl
+++ b/src/ebtree/src/ebtree.erl
@@ -384,6 +384,9 @@ range(Db, #tree{} = Tree, StartKey, EndKey, AccFun, Acc0) ->
end).
+range(_Tx, #tree{}, #node{level = 0, members = []}, _StartKey, _EndKey, _AccFun, Acc0) ->
+ Acc0;
+
range(Tx, #tree{} = Tree, #node{level = 0} = Node, StartKey, EndKey, AccFun, Acc0) ->
InRange = [{K, V} || {K, V} <- Node#node.members,
less_than_or_equal(Tree, StartKey, K), less_than_or_equal(Tree, K, EndKey)],
@@ -417,6 +420,9 @@ reverse_range(Db, #tree{} = Tree, StartKey, EndKey, AccFun, Acc0) ->
end).
+reverse_range(_Tx, #tree{}, #node{level = 0, members = []}, _StartKey, _EndKey, _AccFun, Acc0) ->
+ Acc0;
+
reverse_range(Tx, #tree{} = Tree, #node{level = 0} = Node, StartKey, EndKey, AccFun, Acc0) ->
InRange = [{K, V} || {K, V} <- Node#node.members,
less_than_or_equal(Tree, StartKey, K), less_than_or_equal(Tree, K, EndKey)],