aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db.go4
-rw-r--r--db_test.go4
2 files changed, 8 insertions, 0 deletions
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.