From 149d48fb9e3e8147cf0bce84a4e11164ac9cdbf3 Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Thu, 30 Jan 2014 00:11:46 -0500 Subject: Fix leaf/branch deserialization. --- page.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'page.go') 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] -- cgit v1.2.3