Unified storage: Respect GF_DATABASE_URL override (#105331)
* Database for unified storage resources now reuses DB code that respects URL override. Access instrument_queries via section getter.
This commit is contained in:
@@ -12,7 +12,6 @@ import (
|
||||
"github.com/grafana/grafana/pkg/util/xorm"
|
||||
|
||||
"github.com/grafana/grafana/pkg/services/sqlstore"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
"github.com/grafana/grafana/pkg/storage/unified/sql/db"
|
||||
)
|
||||
|
||||
@@ -20,33 +19,21 @@ import (
|
||||
// driver.
|
||||
const tlsConfigName = "db_engine_tls"
|
||||
|
||||
func getEngine(cfg *setting.Cfg) (*xorm.Engine, error) {
|
||||
dbSection := cfg.SectionWithEnvOverrides("database")
|
||||
dbType := dbSection.Key("type").String()
|
||||
if dbType == "" {
|
||||
return nil, fmt.Errorf("no database type specified")
|
||||
}
|
||||
|
||||
switch dbType {
|
||||
func getEngine(config *sqlstore.DatabaseConfig) (*xorm.Engine, error) {
|
||||
switch config.Type {
|
||||
case dbTypeMySQL, dbTypePostgres, dbTypeSQLite:
|
||||
config, err := sqlstore.NewDatabaseConfig(cfg, nil)
|
||||
if err != nil {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
engine, err := xorm.NewEngine(dbType, config.ConnectionString)
|
||||
engine, err := xorm.NewEngine(config.Type, config.ConnectionString)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("open database: %w", err)
|
||||
}
|
||||
|
||||
engine.SetMaxOpenConns(dbSection.Key("max_open_conn").MustInt(0))
|
||||
engine.SetMaxIdleConns(dbSection.Key("max_idle_conn").MustInt(4))
|
||||
maxLifetime := time.Duration(dbSection.Key("conn_max_lifetime").MustInt(14400)) * time.Second
|
||||
engine.SetConnMaxLifetime(maxLifetime)
|
||||
engine.SetMaxOpenConns(config.MaxOpenConn)
|
||||
engine.SetMaxIdleConns(config.MaxIdleConn)
|
||||
engine.SetConnMaxLifetime(time.Duration(config.ConnMaxLifetime) * time.Second)
|
||||
|
||||
return engine, nil
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported database type: %s", dbType)
|
||||
return nil, fmt.Errorf("unsupported database type: %s", config.Type)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user