Commit 33460751 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent fe364dd4
...@@ -612,19 +612,25 @@ func (prs *rangeSplit) GetToLeaf(ctx context.Context, k Key) (rnode *nodeInRange ...@@ -612,19 +612,25 @@ func (prs *rangeSplit) GetToLeaf(ctx context.Context, k Key) (rnode *nodeInRange
for { for {
switch rnode.node.(type) { switch rnode.node.(type) {
// bucket = leaf
case *Bucket: case *Bucket:
return rnode, true, nil return rnode, true, nil
} }
// it's tree // its tree -> activate to expand; check for ø case
err = rnode.node.PActivate(ctx) tree := rnode.node.(*Tree)
err = tree.PActivate(ctx)
if err != nil { if err != nil {
return nil, false, err return nil, false, err
} }
defer rnode.node.PDeactivate() defer tree.PDeactivate()
// FIXME ø tree -> don't expand -> tree // empty tree -> don't expand - it is already leaf
if len(tree.Entryv()) == 0{
return rnode, true, nil
}
// expand tree children
children := prs.Expand(rnode) children := prs.Expand(rnode)
rnode = children.Get(k) // k must be there rnode = children.Get(k) // k must be there
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment