From 5883c0e942071b072073420caff1903d6e307649 Mon Sep 17 00:00:00 2001 From: Jae Kwon Date: Thu, 12 Apr 2018 15:56:41 -0700 Subject: [PATCH] Support namespacing within RMS db --- store/rootmultistore.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/store/rootmultistore.go b/store/rootmultistore.go index 9be28967c..6ee800db4 100644 --- a/store/rootmultistore.go +++ b/store/rootmultistore.go @@ -56,8 +56,9 @@ func (rs *rootMultiStore) MountStoreWithDB(key StoreKey, typ StoreType, db dbm.D panic(fmt.Sprintf("rootMultiStore duplicate store key %v", key)) } rs.storesParams[key] = storeParams{ - db: db, + key: key, typ: typ, + db: db, } rs.keysByName[key.Name()] = key } @@ -244,9 +245,12 @@ func parsePath(path string) (storeName string, subpath string, err sdk.Error) { //---------------------------------------- func (rs *rootMultiStore) loadCommitStoreFromParams(id CommitID, params storeParams) (store CommitStore, err error) { - db := rs.db + var db dbm.DB if params.db != nil { db = params.db + } else { + db = rs.db + db = dbm.NewPrefixDB(rs.db, []byte(params.key.Name())) } switch params.typ { case sdk.StoreTypeMulti: @@ -276,6 +280,7 @@ func (rs *rootMultiStore) nameToKey(name string) StoreKey { // storeParams type storeParams struct { + key StoreKey db dbm.DB typ StoreType }