2019-02-01 17:03:09 -08:00
|
|
|
package store
|
|
|
|
|
|
|
|
import (
|
2019-08-02 06:20:39 -07:00
|
|
|
dbm "github.com/tendermint/tm-db"
|
2019-02-01 17:03:09 -08:00
|
|
|
|
2019-09-04 10:33:32 -07:00
|
|
|
"github.com/cosmos/cosmos-sdk/store/cache"
|
2019-02-01 17:03:09 -08:00
|
|
|
"github.com/cosmos/cosmos-sdk/store/rootmulti"
|
|
|
|
"github.com/cosmos/cosmos-sdk/store/types"
|
|
|
|
)
|
|
|
|
|
2019-10-09 12:57:12 -07:00
|
|
|
// Pruning strategies that may be provided to a KVStore to enable pruning.
|
|
|
|
const (
|
|
|
|
PruningStrategyNothing = "nothing"
|
|
|
|
PruningStrategyEverything = "everything"
|
|
|
|
PruningStrategySyncable = "syncable"
|
|
|
|
)
|
|
|
|
|
2019-02-01 17:03:09 -08:00
|
|
|
func NewCommitMultiStore(db dbm.DB) types.CommitMultiStore {
|
|
|
|
return rootmulti.NewStore(db)
|
|
|
|
}
|
|
|
|
|
2019-09-04 10:33:32 -07:00
|
|
|
func NewCommitKVStoreCacheManager() types.MultiStorePersistentCache {
|
|
|
|
return cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)
|
|
|
|
}
|
|
|
|
|
2019-02-01 17:03:09 -08:00
|
|
|
func NewPruningOptionsFromString(strategy string) (opt PruningOptions) {
|
|
|
|
switch strategy {
|
2019-10-09 12:57:12 -07:00
|
|
|
case PruningStrategyNothing:
|
2019-02-01 17:03:09 -08:00
|
|
|
opt = PruneNothing
|
2019-10-09 12:57:12 -07:00
|
|
|
case PruningStrategyEverything:
|
2019-02-01 17:03:09 -08:00
|
|
|
opt = PruneEverything
|
2019-10-09 12:57:12 -07:00
|
|
|
case PruningStrategySyncable:
|
2019-02-01 17:03:09 -08:00
|
|
|
opt = PruneSyncable
|
|
|
|
default:
|
|
|
|
opt = PruneSyncable
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|