diff --git a/db/db.go b/db/db.go index aa8ff48a8..51283ac2a 100644 --- a/db/db.go +++ b/db/db.go @@ -10,10 +10,10 @@ type DB interface { DeleteSync([]byte) Close() NewBatch() Batch + Iterator() Iterator // For debugging Print() - Iterator() Iterator Stats() map[string]string } @@ -28,6 +28,9 @@ type Iterator interface { Key() []byte Value() []byte + + Release() + Error() error } //----------------------------------------------------------------------------- diff --git a/db/mem_db.go b/db/mem_db.go index db40227e8..04d48cac0 100644 --- a/db/mem_db.go +++ b/db/mem_db.go @@ -97,6 +97,16 @@ func (it *memDBIterator) Value() []byte { return it.db.Get(it.Key()) } +func (it *memDBIterator) Release() { + it.db = nil + it.keys = nil + return +} + +func (it *memDBIterator) Error() error { + return nil +} + func (db *MemDB) Iterator() Iterator { it := newMemDBIterator() it.db = db