Merge PR #2330: iterate over storesParams
This commit is contained in:
parent
d195cc15ed
commit
f19fbe3fb8
|
@ -119,28 +119,28 @@ func (rs *rootMultiStore) LoadVersion(ver int64) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Convert StoreInfos slice to map
|
||||
infos := make(map[StoreKey]storeInfo)
|
||||
for _, storeInfo := range cInfo.StoreInfos {
|
||||
infos[rs.nameToKey(storeInfo.Name)] = storeInfo
|
||||
}
|
||||
|
||||
// Load each Store
|
||||
var newStores = make(map[StoreKey]CommitStore)
|
||||
for _, storeInfo := range cInfo.StoreInfos {
|
||||
key, commitID := rs.nameToKey(storeInfo.Name), storeInfo.Core.CommitID
|
||||
storeParams := rs.storesParams[key]
|
||||
store, err := rs.loadCommitStoreFromParams(key, commitID, storeParams)
|
||||
for key, storeParams := range rs.storesParams {
|
||||
var id CommitID
|
||||
info, ok := infos[key]
|
||||
if ok {
|
||||
id = info.Core.CommitID
|
||||
}
|
||||
|
||||
store, err := rs.loadCommitStoreFromParams(key, id, storeParams)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to load rootMultiStore: %v", err)
|
||||
}
|
||||
newStores[key] = store
|
||||
}
|
||||
|
||||
// TODO: detecting transient is quite adhoc
|
||||
// If any nontransient CommitStoreLoaders were not used, return error.
|
||||
for key, param := range rs.storesParams {
|
||||
if param.typ != sdk.StoreTypeTransient {
|
||||
if _, ok := newStores[key]; !ok {
|
||||
return fmt.Errorf("unused CommitStoreLoader: %v", key)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Success.
|
||||
rs.lastCommitID = cInfo.CommitID()
|
||||
rs.stores = newStores
|
||||
|
|
Loading…
Reference in New Issue