ds.NewTransaction() can now return an error.

This commit is contained in:
Raúl Kripalani 2018-09-27 20:52:25 +01:00
parent 56307a5e29
commit 196ad55260
2 changed files with 28 additions and 9 deletions

View File

@ -213,7 +213,10 @@ func (mgr *dsAddrBook) dbInsert(keys []ds.Key, addrs []ma.Multiaddr, ttl time.Du
exp = time.Now().Add(ttl)
)
txn := mgr.ds.NewTransaction(false)
txn, err := mgr.ds.NewTransaction(false)
if err != nil {
return nil, err
}
defer txn.Discard()
ttltxn := txn.(ds.TTLDatastore)
@ -290,7 +293,10 @@ func (mgr *dsAddrBook) dbUpdateTTL(p peer.ID, oldTTL time.Duration, newTTL time.
err error
)
txn := mgr.ds.NewTransaction(false)
txn, err := mgr.ds.NewTransaction(false)
if err != nil {
return err
}
defer txn.Discard()
if results, err = txn.Query(q); err != nil {
@ -342,7 +348,10 @@ func (mgr *dsAddrBook) Addrs(p peer.ID) []ma.Multiaddr {
}
}
txn := mgr.ds.NewTransaction(true)
txn, err := mgr.ds.NewTransaction(true)
if err != nil {
return nil
}
defer txn.Discard()
if results, err = txn.Query(q); err != nil {
@ -382,7 +391,11 @@ func (mgr *dsAddrBook) PeersWithAddrs() peer.IDSlice {
err error
)
txn := mgr.ds.NewTransaction(true)
txn, err := mgr.ds.NewTransaction(true)
if err != nil {
log.Error(err)
return peer.IDSlice{}
}
defer txn.Discard()
if results, err = txn.Query(q); err != nil {
@ -456,7 +469,10 @@ func (mgr *dsAddrBook) ClearAddrs(p peer.ID) {
func (mgr *dsAddrBook) dbDelete(keys []ds.Key) error {
var err error
txn := mgr.ds.NewTransaction(false)
txn, err := mgr.ds.NewTransaction(false)
if err != nil {
return err
}
defer txn.Discard()
for _, key := range keys {
@ -479,7 +495,10 @@ func (mgr *dsAddrBook) dbDelete(keys []ds.Key) error {
func (mgr *dsAddrBook) dbDeleteIter(prefix ds.Key) error {
q := query.Query{Prefix: prefix.String(), KeysOnly: true}
txn := mgr.ds.NewTransaction(false)
txn, err := mgr.ds.NewTransaction(false)
if err != nil {
return err
}
defer txn.Discard()
results, err := txn.Query(q)

View File

@ -23,7 +23,7 @@ func BenchmarkBaselineBadgerDatastorePutEntry(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
txn := bds.NewTransaction(false)
txn, _ := bds.NewTransaction(false)
key := ds.RawKey(fmt.Sprintf("/key/%d", i))
txn.Put(key, []byte(fmt.Sprintf("/value/%d", i)))
@ -37,7 +37,7 @@ func BenchmarkBaselineBadgerDatastoreGetEntry(b *testing.B) {
bds, closer := badgerStore(b)
defer closer()
txn := bds.NewTransaction(false)
txn, _ := bds.NewTransaction(false)
keys := make([]ds.Key, 1000)
for i := 0; i < 1000; i++ {
key := ds.RawKey(fmt.Sprintf("/key/%d", i))
@ -50,7 +50,7 @@ func BenchmarkBaselineBadgerDatastoreGetEntry(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
txn := bds.NewTransaction(true)
txn, _ := bds.NewTransaction(true)
if _, err := txn.Get(keys[i%1000]); err != nil {
b.Fatal(err)
}