From 59116761f59b56b1b56cce4aa6e92a39e5d39701 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 20 Jun 2014 12:42:21 -0700 Subject: [PATCH] Fix delete --- src/datastore/storage/mdb.go | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/datastore/storage/mdb.go b/src/datastore/storage/mdb.go index 8d4107d4bd..4888bf62fa 100644 --- a/src/datastore/storage/mdb.go +++ b/src/datastore/storage/mdb.go @@ -132,13 +132,7 @@ func (db MDB) Get(key []byte) ([]byte, error) { } func (db MDB) Del(start, finish []byte) error { - tx, err := db.env.BeginTxn(nil, 0) - if err != nil { - return err - } - defer tx.Commit() - - itr := db.iterator(true) + itr := db.iterator(false) defer itr.Close() count := 0 @@ -148,9 +142,7 @@ func (db MDB) Del(start, finish []byte) error { break } - // TODO: We should be using one cursor instead of two - // transactions, but deleting using a cursor, crashes - err = tx.Del(db.db, itr.key, nil) + err := itr.c.Del(0) if err != nil { return err }