From 8b3b81ef47d8eaa1f95e152943fd10b03b782034 Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Tue, 4 Feb 2014 15:30:05 -0700 Subject: Fix quick tests. --- node.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'node.go') diff --git a/node.go b/node.go index 2b3fded..a6cc334 100644 --- a/node.go +++ b/node.go @@ -148,14 +148,16 @@ func (n *node) split(pageSize int) []*node { threshold := pageSize / 2 // Group into smaller pages and target a given fill size. - size := 0 - current := &node{isLeaf: n.isLeaf} - nodes := make([]*node, 0) + size := pageHeaderSize + inodes := n.inodes + current := n + current.inodes = nil + var nodes []*node - for i, inode := range n.inodes { + for i, inode := range inodes { elemSize := n.pageElementSize() + len(inode.key) + len(inode.value) - if len(current.inodes) >= minKeysPerPage && i < len(n.inodes)-minKeysPerPage && size+elemSize > threshold { + if len(current.inodes) >= minKeysPerPage && i < len(inodes)-minKeysPerPage && size+elemSize > threshold { size = pageHeaderSize nodes = append(nodes, current) current = &node{isLeaf: n.isLeaf} -- cgit v1.2.3