@@ -2,6 +2,7 @@ package db
22
33import (
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.
5654func (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.
7169func (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.
8074func (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.
9485func (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.
10896func (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.
119104func (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
130111func (db * GoLevelDB ) RawDB () * leveldb.DB {
@@ -133,10 +114,7 @@ func (db *GoLevelDB) RawDB() *leveldb.DB {
133114
134115// Close implements RawDB.
135116func (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.
197174func (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.
206183func (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.
365341func (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.
380356func (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
401377func (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
423398func (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