aboutsummaryrefslogtreecommitdiffstats
path: root/ethdb/database.go
diff options
context:
space:
mode:
Diffstat (limited to 'ethdb/database.go')
-rw-r--r--ethdb/database.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/ethdb/database.go b/ethdb/database.go
index 9e80e5409..ad87f853d 100644
--- a/ethdb/database.go
+++ b/ethdb/database.go
@@ -268,3 +268,23 @@ func (self *LDBDatabase) meter(refresh time.Duration) {
}
}
}
+
+// TODO: remove this stuff and expose leveldb directly
+
+func (db *LDBDatabase) NewBatch() Batch {
+ return &ldbBatch{db: db.db, b: new(leveldb.Batch)}
+}
+
+type ldbBatch struct {
+ db *leveldb.DB
+ b *leveldb.Batch
+}
+
+func (b *ldbBatch) Put(key, value []byte) error {
+ b.b.Put(key, value)
+ return nil
+}
+
+func (b *ldbBatch) Write() error {
+ return b.db.Write(b.b, nil)
+}