aboutsummaryrefslogtreecommitdiff
path: root/page.go
diff options
context:
space:
mode:
Diffstat (limited to 'page.go')
-rw-r--r--page.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/page.go b/page.go
index 12d1cee..7129208 100644
--- a/page.go
+++ b/page.go
@@ -37,11 +37,21 @@ func (p *page) lnode(index int) *lnode {
return &((*[maxNodesPerPage]lnode)(unsafe.Pointer(&p.ptr)))[index]
}
+// lnodes retrieves a list of leaf nodes.
+func (p *page) lnodes() []lnode {
+ return ((*[maxNodesPerPage]lnode)(unsafe.Pointer(&p.ptr)))[:]
+}
+
// bnode retrieves the branch node by index
func (p *page) bnode(index int) *bnode {
return &((*[maxNodesPerPage]bnode)(unsafe.Pointer(&p.ptr)))[index]
}
+// bnodes retrieves a list of branch nodes.
+func (p *page) bnodes() []bnode {
+ return ((*[maxNodesPerPage]bnode)(unsafe.Pointer(&p.ptr)))[:]
+}
+
// freelist retrieves a list of page ids from a freelist page.
func (p *page) freelist() []pgid {
return ((*[maxNodesPerPage]pgid)(unsafe.Pointer(&p.ptr)))[0:p.count]