cosmos-sdk/store/v2/db/db.go
Matt Kocubinski 7ae23e287a
chore: upstream runtime/v2 (#20320)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-05-14 12:43:28 +00:00

32 lines
618 B
Go

package db
import (
"fmt"
corestore "cosmossdk.io/core/store"
"cosmossdk.io/store/v2"
)
type DBType string
const (
DBTypeGoLevelDB DBType = "goleveldb"
DBTypeRocksDB DBType = "rocksdb"
DBTypePebbleDB DBType = "pebbledb"
DBTypePrefixDB DBType = "prefixdb"
DBFileSuffix string = ".db"
)
func NewDB(dbType DBType, name, dataDir string, opts store.DBOptions) (corestore.KVStoreWithBatch, error) {
switch dbType {
case DBTypeGoLevelDB:
return NewGoLevelDB(name, dataDir, opts)
case DBTypePebbleDB:
return NewPebbleDB(name, dataDir)
}
return nil, fmt.Errorf("unsupported db type: %s", dbType)
}