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
for {
switch rnode.node.(type) {
// bucket = leaf
case *Bucket:
return rnode, true, nil
}
// it's tree
err = rnode.node.PActivate(ctx)
// its tree -> activate to expand; check for ø case
tree := rnode.node.(*Tree)
err = tree.PActivate(ctx)
if err != nil {
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)
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