Sfoglia il codice sorgente

libnetwork/internal/kvstore/boltdb: BoltDB.List(): minor cleanup

cleanup the code to be slightly more idiomatic

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 2 anni fa
parent
commit
7e7c7bbc17
1 ha cambiato i file con 7 aggiunte e 9 eliminazioni
  1. 7 9
      libnetwork/internal/kvstore/boltdb/boltdb.go

+ 7 - 9
libnetwork/internal/kvstore/boltdb/boltdb.go

@@ -230,20 +230,16 @@ func (b *BoltDB) Exists(key string) (bool, error) {
 
 // List returns the range of keys starting with the passed in prefix
 func (b *BoltDB) List(keyPrefix string) ([]*store.KVPair, error) {
-	var (
-		db  *bolt.DB
-		err error
-	)
 	b.Lock()
 	defer b.Unlock()
 
-	kv := []*store.KVPair{}
-
-	if db, err = b.getDBhandle(); err != nil {
+	db, err := b.getDBhandle()
+	if err != nil {
 		return nil, err
 	}
 	defer b.releaseDBhandle()
 
+	var kv []*store.KVPair
 	err = db.View(func(tx *bolt.Tx) error {
 		bucket := tx.Bucket(b.boltBucket)
 		if bucket == nil {
@@ -254,7 +250,6 @@ func (b *BoltDB) List(keyPrefix string) ([]*store.KVPair, error) {
 		prefix := []byte(keyPrefix)
 
 		for key, v := cursor.Seek(prefix); bytes.HasPrefix(key, prefix); key, v = cursor.Next() {
-
 			dbIndex := binary.LittleEndian.Uint64(v[:libkvmetadatalen])
 			v = v[libkvmetadatalen:]
 			val := make([]byte, len(v))
@@ -268,10 +263,13 @@ func (b *BoltDB) List(keyPrefix string) ([]*store.KVPair, error) {
 		}
 		return nil
 	})
+	if err != nil {
+		return nil, err
+	}
 	if len(kv) == 0 {
 		return nil, store.ErrKeyNotFound
 	}
-	return kv, err
+	return kv, nil
 }
 
 // AtomicDelete deletes a value at "key" if the key