From 8c386e72f31126638236f4c642230b7ca4d84236 Mon Sep 17 00:00:00 2001 From: Martin Kobetic Date: Fri, 27 Jun 2014 17:38:06 +0000 Subject: [PATCH] Copy the free pages stats from the receiver --- db.go | 4 ++++ db_test.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/db.go b/db.go index 7e60b04..6ef35ea 100644 --- a/db.go +++ b/db.go @@ -579,6 +579,10 @@ func (s *Stats) Sub(other *Stats) Stats { return *s } var diff Stats + diff.FreePageN = s.FreePageN + diff.PendingPageN = s.PendingPageN + diff.FreeAlloc = s.FreeAlloc + diff.FreelistInuse = s.FreelistInuse diff.TxN = other.TxN - s.TxN diff.TxStats = s.TxStats.Sub(&other.TxStats) return diff diff --git a/db_test.go b/db_test.go index 310dfad..e689836 100644 --- a/db_test.go +++ b/db_test.go @@ -354,9 +354,13 @@ func TestDB_String(t *testing.T) { func TestDBStats_Sub(t *testing.T) { var a, b Stats a.TxStats.PageCount = 3 + a.FreePageN = 4 b.TxStats.PageCount = 10 + b.FreePageN = 14 diff := b.Sub(&a) assert.Equal(t, 7, diff.TxStats.PageCount) + // free page stats are copied from the receiver and not subtracted + assert.Equal(t, 14, diff.FreePageN) } // Ensure that meta with bad magic is invalid.