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 { func (ldb *Batch) Close() error {

View File

@ -21,10 +21,12 @@ type Iterator struct {
} }
func newIterator(store *Store) *Iterator { func newIterator(store *Store) *Iterator {
ropts := defaultReadOptions()
rv := Iterator{ rv := Iterator{
store: store, store: store,
iterator: store.db.NewIterator(defaultReadOptions()), iterator: store.db.NewIterator(ropts),
} }
ropts.Close()
return &rv return &rv
} }
@ -35,6 +37,7 @@ func newIteratorWithSnapshot(store *Store, snapshot *levigo.Snapshot) *Iterator
store: store, store: store,
iterator: store.db.NewIterator(options), iterator: store.db.NewIterator(options),
} }
options.Close()
return &rv 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) { 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) { func (ldbs *Store) getWithSnapshot(key []byte, snapshot *levigo.Snapshot) ([]byte, error) {
options := defaultReadOptions() options := defaultReadOptions()
options.SetSnapshot(snapshot) 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 { 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 { 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 { 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 { 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 { func (ldbs *Store) Close() error {