0
0

close levigo's read & write options

This commit is contained in:
Steve Yen 2015-01-12 18:41:33 -08:00
parent c20726bb93
commit 3a00a968f2
3 changed files with 23 additions and 6 deletions

View File

@ -99,7 +99,10 @@ func (ldb *Batch) Execute() error {
}
}
return ldb.store.db.Write(defaultWriteOptions(), batch)
wopts := defaultWriteOptions()
err := ldb.store.db.Write(wopts, batch)
wopts.Close()
return err
}
func (ldb *Batch) Close() error {

View File

@ -21,10 +21,12 @@ type Iterator struct {
}
func newIterator(store *Store) *Iterator {
ropts := defaultReadOptions()
rv := Iterator{
store: store,
iterator: store.db.NewIterator(defaultReadOptions()),
iterator: store.db.NewIterator(ropts),
}
ropts.Close()
return &rv
}
@ -35,6 +37,7 @@ func newIteratorWithSnapshot(store *Store, snapshot *levigo.Snapshot) *Iterator
store: store,
iterator: store.db.NewIterator(options),
}
options.Close()
return &rv
}

View File

@ -49,13 +49,18 @@ func Open(path string, createIfMissing bool, errorIfExists bool) (*Store, error)
}
func (ldbs *Store) get(key []byte) ([]byte, error) {
return ldbs.db.Get(defaultReadOptions(), key)
options := defaultReadOptions()
b, err := ldbs.db.Get(options, key)
options.Close()
return b, err
}
func (ldbs *Store) getWithSnapshot(key []byte, snapshot *levigo.Snapshot) ([]byte, error) {
options := defaultReadOptions()
options.SetSnapshot(snapshot)
return ldbs.db.Get(options, key)
b, err := ldbs.db.Get(options, key)
options.Close()
return b, err
}
func (ldbs *Store) set(key, val []byte) error {
@ -65,7 +70,10 @@ func (ldbs *Store) set(key, val []byte) error {
}
func (ldbs *Store) setlocked(key, val []byte) error {
return ldbs.db.Put(defaultWriteOptions(), key, val)
options := defaultWriteOptions()
err := ldbs.db.Put(options, key, val)
options.Close()
return err
}
func (ldbs *Store) delete(key []byte) error {
@ -75,7 +83,10 @@ func (ldbs *Store) delete(key []byte) error {
}
func (ldbs *Store) deletelocked(key []byte) error {
return ldbs.db.Delete(defaultWriteOptions(), key)
options := defaultWriteOptions()
err := ldbs.db.Delete(options, key)
options.Close()
return err
}
func (ldbs *Store) Close() error {