Enable db text/binary mode set in override, config
This commit is contained in:
@@ -5,6 +5,8 @@ import (
|
||||
"net/url"
|
||||
)
|
||||
|
||||
type DbMode uint8
|
||||
|
||||
const (
|
||||
DBTYPE_NONE = iota
|
||||
DBTYPE_MEM
|
||||
@@ -13,6 +15,11 @@ const (
|
||||
DBTYPE_POSTGRES
|
||||
)
|
||||
|
||||
const (
|
||||
DBMODE_BINARY DbMode = iota
|
||||
DBMODE_TEXT
|
||||
)
|
||||
|
||||
const (
|
||||
STORETYPE_STATE = iota
|
||||
STORETYPE_RESOURCE
|
||||
@@ -52,6 +59,7 @@ type ConnData struct {
|
||||
typ int
|
||||
str string
|
||||
domain string
|
||||
mode DbMode
|
||||
}
|
||||
|
||||
func (cd *ConnData) DbType() int {
|
||||
@@ -66,6 +74,10 @@ func (cd *ConnData) Domain() string {
|
||||
return cd.domain
|
||||
}
|
||||
|
||||
func (cd *ConnData) Mode() DbMode {
|
||||
return cd.mode
|
||||
}
|
||||
|
||||
func (cd *ConnData) Path() string {
|
||||
v, _ := url.Parse(cd.str)
|
||||
v.RawQuery = ""
|
||||
|
||||
@@ -61,6 +61,15 @@ func probeMem(s string) (string, string, bool) {
|
||||
return "", "", true
|
||||
}
|
||||
|
||||
func ToConnDataMode(connStr string, mode DbMode) (ConnData, error) {
|
||||
o, err := ToConnData(connStr)
|
||||
if err != nil {
|
||||
return o, err
|
||||
}
|
||||
o.mode = mode
|
||||
return o, nil
|
||||
}
|
||||
|
||||
func ToConnData(connStr string) (ConnData, error) {
|
||||
var o ConnData
|
||||
|
||||
|
||||
@@ -105,7 +105,11 @@ func (ms *MenuStorageService) getOrCreateDb(ctx context.Context, section string,
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
newDb = fsdb.NewFsDb().WithBinary()
|
||||
fsdbInstance := fsdb.NewFsDb()
|
||||
if connData.Mode() == DBMODE_BINARY {
|
||||
fsdbInstance = fsdbInstance.WithBinary()
|
||||
}
|
||||
newDb = fsdbInstance
|
||||
} else if dbTyp == DBTYPE_MEM {
|
||||
logg.WarnCtxf(ctx, "using volatile storage (memdb)")
|
||||
newDb = memdb.NewMemDb()
|
||||
|
||||
Reference in New Issue
Block a user