cosmos-sdk/store/v2/db/db.go
Alexander Peters cf721a6540
feat(sims): Integration with app v2 (#23013)
Co-authored-by: Alex | Interchain Labs <alex@skip.money>
2025-01-09 08:19:35 +00:00

35 lines
697 B
Go

package db
import (
"fmt"
coreserver "cosmossdk.io/core/server"
corestore "cosmossdk.io/core/store"
)
type DBType string
const (
DBTypeGoLevelDB DBType = "goleveldb"
DBTypePebbleDB DBType = "pebbledb"
DBTypePrefixDB DBType = "prefixdb"
DBTypeMemDB DBType = "memdb" // used for sims
DBFileSuffix string = ".db"
)
func NewDB(dbType DBType, name, dataDir string, opts coreserver.DynamicConfig) (corestore.KVStoreWithBatch, error) {
switch dbType {
case DBTypeGoLevelDB:
return NewGoLevelDB(name, dataDir, opts)
case DBTypePebbleDB:
return NewPebbleDB(name, dataDir)
case DBTypeMemDB:
return NewMemDB(), nil
}
return nil, fmt.Errorf("unsupported db type: %s", dbType)
}