Skip to content

Commit 6b1e9fc

Browse files
authored
refactor(store/db): remove unnecessary code and correct error handling (#19763)
1 parent b239590 commit 6b1e9fc

1 file changed

Lines changed: 29 additions & 54 deletions

File tree

store/db/goleveldb.go

Lines changed: 29 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package db
22

33
import (
44
"bytes"
5+
"errors"
56
"fmt"
67
"path/filepath"
78

@@ -15,7 +16,7 @@ import (
1516

1617
corestore "cosmossdk.io/core/store"
1718
"cosmossdk.io/store/v2"
18-
"cosmossdk.io/store/v2/errors"
19+
storeerrors "cosmossdk.io/store/v2/errors"
1920
)
2021

2122
// GoLevelDB implements RawDB using github.com/syndtr/goleveldb/leveldb.
@@ -46,20 +47,17 @@ func NewGoLevelDBWithOpts(name, dir string, o *opt.Options) (*GoLevelDB, error)
4647
if err != nil {
4748
return nil, err
4849
}
49-
database := &GoLevelDB{
50-
db: db,
51-
}
52-
return database, nil
50+
return &GoLevelDB{db: db}, nil
5351
}
5452

5553
// Get implements RawDB.
5654
func (db *GoLevelDB) Get(key []byte) ([]byte, error) {
5755
if len(key) == 0 {
58-
return nil, errors.ErrKeyEmpty
56+
return nil, storeerrors.ErrKeyEmpty
5957
}
6058
res, err := db.db.Get(key, nil)
6159
if err != nil {
62-
if err == dberrors.ErrNotFound {
60+
if errors.Is(err, dberrors.ErrNotFound) {
6361
return nil, nil
6462
}
6563
return nil, err
@@ -69,62 +67,45 @@ func (db *GoLevelDB) Get(key []byte) ([]byte, error) {
6967

7068
// Has implements RawDB.
7169
func (db *GoLevelDB) Has(key []byte) (bool, error) {
72-
bytes, err := db.Get(key)
73-
if err != nil {
74-
return false, err
75-
}
76-
return bytes != nil, nil
70+
return db.db.Has(key, nil)
7771
}
7872

7973
// Set implements RawDB.
8074
func (db *GoLevelDB) Set(key, value []byte) error {
8175
if len(key) == 0 {
82-
return errors.ErrKeyEmpty
76+
return storeerrors.ErrKeyEmpty
8377
}
8478
if value == nil {
85-
return errors.ErrValueNil
86-
}
87-
if err := db.db.Put(key, value, nil); err != nil {
88-
return err
79+
return storeerrors.ErrValueNil
8980
}
90-
return nil
81+
return db.db.Put(key, value, nil)
9182
}
9283

9384
// SetSync implements RawDB.
9485
func (db *GoLevelDB) SetSync(key, value []byte) error {
9586
if len(key) == 0 {
96-
return errors.ErrKeyEmpty
87+
return storeerrors.ErrKeyEmpty
9788
}
9889
if value == nil {
99-
return errors.ErrValueNil
100-
}
101-
if err := db.db.Put(key, value, &opt.WriteOptions{Sync: true}); err != nil {
102-
return err
90+
return storeerrors.ErrValueNil
10391
}
104-
return nil
92+
return db.db.Put(key, value, &opt.WriteOptions{Sync: true})
10593
}
10694

10795
// Delete implements RawDB.
10896
func (db *GoLevelDB) Delete(key []byte) error {
10997
if len(key) == 0 {
110-
return errors.ErrKeyEmpty
111-
}
112-
if err := db.db.Delete(key, nil); err != nil {
113-
return err
98+
return storeerrors.ErrKeyEmpty
11499
}
115-
return nil
100+
return db.db.Delete(key, nil)
116101
}
117102

118103
// DeleteSync implements RawDB.
119104
func (db *GoLevelDB) DeleteSync(key []byte) error {
120105
if len(key) == 0 {
121-
return errors.ErrKeyEmpty
122-
}
123-
err := db.db.Delete(key, &opt.WriteOptions{Sync: true})
124-
if err != nil {
125-
return err
106+
return storeerrors.ErrKeyEmpty
126107
}
127-
return nil
108+
return db.db.Delete(key, &opt.WriteOptions{Sync: true})
128109
}
129110

130111
func (db *GoLevelDB) RawDB() *leveldb.DB {
@@ -133,10 +114,7 @@ func (db *GoLevelDB) RawDB() *leveldb.DB {
133114

134115
// Close implements RawDB.
135116
func (db *GoLevelDB) Close() error {
136-
if err := db.db.Close(); err != nil {
137-
return err
138-
}
139-
return nil
117+
return db.db.Close()
140118
}
141119

142120
// Print implements RawDB.
@@ -171,8 +149,7 @@ func (db *GoLevelDB) Stats() map[string]string {
171149

172150
stats := make(map[string]string)
173151
for _, key := range keys {
174-
str, err := db.db.GetProperty(key)
175-
if err == nil {
152+
if str, err := db.db.GetProperty(key); err == nil {
176153
stats[key] = str
177154
}
178155
}
@@ -196,7 +173,7 @@ func (db *GoLevelDB) NewBatchWithSize(size int) store.RawBatch {
196173
// Iterator implements RawDB.
197174
func (db *GoLevelDB) Iterator(start, end []byte) (corestore.Iterator, error) {
198175
if (start != nil && len(start) == 0) || (end != nil && len(end) == 0) {
199-
return nil, errors.ErrKeyEmpty
176+
return nil, storeerrors.ErrKeyEmpty
200177
}
201178
itr := db.db.NewIterator(&util.Range{Start: start, Limit: end}, nil)
202179
return newGoLevelDBIterator(itr, start, end, false), nil
@@ -205,7 +182,7 @@ func (db *GoLevelDB) Iterator(start, end []byte) (corestore.Iterator, error) {
205182
// ReverseIterator implements RawDB.
206183
func (db *GoLevelDB) ReverseIterator(start, end []byte) (corestore.Iterator, error) {
207184
if (start != nil && len(start) == 0) || (end != nil && len(end) == 0) {
208-
return nil, errors.ErrKeyEmpty
185+
return nil, storeerrors.ErrKeyEmpty
209186
}
210187
itr := db.db.NewIterator(&util.Range{Start: start, Limit: end}, nil)
211188
return newGoLevelDBIterator(itr, start, end, true), nil
@@ -226,8 +203,7 @@ func newGoLevelDBIterator(source iterator.Iterator, start, end []byte, isReverse
226203
if end == nil {
227204
source.Last()
228205
} else {
229-
valid := source.Seek(end)
230-
if valid {
206+
if source.Seek(end) {
231207
eoakey := source.Key() // end or after key
232208
if bytes.Compare(end, eoakey) <= 0 {
233209
source.Prev()
@@ -364,13 +340,13 @@ func newGoLevelDBBatchWithSize(db *GoLevelDB, size int) *goLevelDBBatch {
364340
// Set implements RawBatch.
365341
func (b *goLevelDBBatch) Set(key, value []byte) error {
366342
if len(key) == 0 {
367-
return errors.ErrKeyEmpty
343+
return storeerrors.ErrKeyEmpty
368344
}
369345
if value == nil {
370-
return errors.ErrValueNil
346+
return storeerrors.ErrValueNil
371347
}
372348
if b.batch == nil {
373-
return errors.ErrBatchClosed
349+
return storeerrors.ErrBatchClosed
374350
}
375351
b.batch.Put(key, value)
376352
return nil
@@ -379,10 +355,10 @@ func (b *goLevelDBBatch) Set(key, value []byte) error {
379355
// Delete implements RawBatch.
380356
func (b *goLevelDBBatch) Delete(key []byte) error {
381357
if len(key) == 0 {
382-
return errors.ErrKeyEmpty
358+
return storeerrors.ErrKeyEmpty
383359
}
384360
if b.batch == nil {
385-
return errors.ErrBatchClosed
361+
return storeerrors.ErrBatchClosed
386362
}
387363
b.batch.Delete(key)
388364
return nil
@@ -400,10 +376,9 @@ func (b *goLevelDBBatch) WriteSync() error {
400376

401377
func (b *goLevelDBBatch) write(sync bool) error {
402378
if b.batch == nil {
403-
return errors.ErrBatchClosed
379+
return storeerrors.ErrBatchClosed
404380
}
405-
err := b.db.db.Write(b.batch, &opt.WriteOptions{Sync: sync})
406-
if err != nil {
381+
if err := b.db.db.Write(b.batch, &opt.WriteOptions{Sync: sync}); err != nil {
407382
return err
408383
}
409384
// Make sure batch cannot be used afterwards. Callers should still call Close(), for errors.
@@ -422,7 +397,7 @@ func (b *goLevelDBBatch) Close() error {
422397
// GetByteSize implements RawBatch
423398
func (b *goLevelDBBatch) GetByteSize() (int, error) {
424399
if b.batch == nil {
425-
return 0, errors.ErrBatchClosed
400+
return 0, storeerrors.ErrBatchClosed
426401
}
427402
return len(b.batch.Dump()), nil
428403
}

0 commit comments

Comments
 (0)