From 782ead0dbf3095d0e843c2036bf40cc8ecd9b4d1 Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Mon, 19 May 2014 12:08:33 -0600 Subject: Fix freelist allocation direction. This commit fixes the freelist so that it frees from the beginning of the data file instead of the end. It also adds a fast path for pages which can be allocated from the first free pages and it includes read transaction stats. --- page.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'page.go') diff --git a/page.go b/page.go index 56cf064..cd213a4 100644 --- a/page.go +++ b/page.go @@ -128,3 +128,9 @@ type PageInfo struct { Count int OverflowCount int } + +type pgids []pgid + +func (s pgids) Len() int { return len(s) } +func (s pgids) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s pgids) Less(i, j int) bool { return s[i] > s[j] } -- cgit v1.2.3