aboutsummaryrefslogtreecommitdiff
path: root/db.go
diff options
context:
space:
mode:
authorMartin Kobetic <mkobetic@gmail.com>2014-05-09 13:35:00 +0000
committerMartin Kobetic <mkobetic@gmail.com>2014-05-09 13:35:00 +0000
commitd279ea44cedc355c5dc574d2fd6edfb5e2088410 (patch)
tree491e8944316bf0b6e68b979ee4128b2697c8ef7e /db.go
parentMerge pull request #158 from benbjohnson/bolt-info (diff)
downloaddedo-d279ea44cedc355c5dc574d2fd6edfb5e2088410.tar.gz
dedo-d279ea44cedc355c5dc574d2fd6edfb5e2088410.tar.xz
add asserts for detecting pgid high watermark overflow
Diffstat (limited to 'db.go')
-rw-r--r--db.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/db.go b/db.go
index d96a161..0b74621 100644
--- a/db.go
+++ b/db.go
@@ -705,6 +705,10 @@ func (m *meta) copy(dest *meta) {
// write writes the meta onto a page.
func (m *meta) write(p *page) {
+
+ _assert(m.root.root < m.pgid, "root bucket pgid (%d) above high water mark (%d)", m.root.root, m.pgid)
+ _assert(m.freelist < m.pgid, "freelist pgid (%d) above high water mark (%d)", m.freelist, m.pgid)
+
// Page id is either going to be 0 or 1 which we can determine by the transaction ID.
p.id = pgid(m.txid % 2)
p.flags |= metaPageFlag