Don't overwrite entry if there are no changes.

This commit is contained in:
Andrey Smirnov
2014-03-10 19:42:08 +04:00
parent a96ab00afc
commit c28a641293

View File

@@ -66,6 +66,16 @@ func (l *levelDB) Put(key []byte, value []byte) error {
l.batch.Put(key, value)
return nil
}
old, err := l.db.Get(key, nil)
if err != nil {
if err != leveldb.ErrNotFound {
return err
}
} else {
if bytes.Compare(old, value) == 0 {
return nil
}
}
return l.db.Put(key, value, nil)
}