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/08/05 18:22:11 UTC

[couchdb] 03/04: Fix range scans over and empty tree

This is an automated email from the ASF dual-hosted git repository.

davisp pushed a commit to branch ebtree-fixes
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit dfd6205122963db58b44a58567c78bc4b31581b4
Author: Paul J. Davis <pa...@gmail.com>
AuthorDate: Wed Aug 5 13:20:36 2020 -0500

    Fix range scans over and empty tree
---
 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 37b0db7..5051d94 100644
--- a/src/ebtree/src/ebtree.erl
+++ b/src/ebtree/src/ebtree.erl
@@ -415,6 +415,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,
         collate(Tree, StartKey, K, [lt, eq]), collate(Tree, K, EndKey, [lt, eq])],
@@ -448,6 +451,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,
         collate(Tree, StartKey, K, [lt, eq]), collate(Tree, K, EndKey, [lt, eq])],