aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dedo.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/dedo.go b/src/dedo.go
index 7c3662a..f280c3b 100644
--- a/src/dedo.go
+++ b/src/dedo.go
@@ -882,16 +882,17 @@ func (b *bucketT) ForEach(fn func(k, v []byte) error) error {
/// bucketT.forEachPageNode() iterates over every page (or node) in a bucket.
/// This also includes inline pages.
-func (b *bucketT) forEachPageNode(fn func(*page, *node, int)) {
+func bucketForEachPageNode(b *bucketT, fn func(*page, *node, int)) {
// If we have an inline page or root node then just use that.
if b.page != nil {
fn(b.page, nil, 0)
return
}
- b._forEachPageNode(b.ref.root, 0, fn)
+ bucketForEachPageNodeRec(b, b.ref.root, 0, fn)
}
-func (b *bucketT) _forEachPageNode(
+func bucketForEachPageNodeRec(
+ b *bucketT,
pgid pgid,
depth int,
fn func(*page, *node, int),
@@ -906,13 +907,13 @@ func (b *bucketT) _forEachPageNode(
if (p.flags & branchPageFlag) != 0 {
for i := 0; i < int(p.count); i++ {
elem := p.branchPageElement(uint16(i))
- b._forEachPageNode(elem.pgid, depth+1, fn)
+ bucketForEachPageNodeRec(b, elem.pgid, depth+1, fn)
}
}
} else {
if !n.isLeaf {
for _, inode := range n.inodes {
- b._forEachPageNode(inode.pgid, depth+1, fn)
+ bucketForEachPageNodeRec(b, inode.pgid, depth+1, fn)
}
}
}
@@ -1095,7 +1096,7 @@ func (b *bucketT) free() {
}
tx := b.tx
- b.forEachPageNode(func(p *page, n *node, _ int) {
+ bucketForEachPageNode(b, func(p *page, n *node, _ int) {
if p != nil {
tx.db.freelist.free(tx.meta.txid, p)
} else {