|
|
|
@ -7,12 +7,13 @@ import ( |
|
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
"github.com/go-sql-driver/mysql" |
|
|
|
|
"github.com/grafana/grafana/pkg/infra/tracing" |
|
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore" |
|
|
|
|
"github.com/grafana/grafana/pkg/storage/unified/sql/db" |
|
|
|
|
"go.opentelemetry.io/otel/trace" |
|
|
|
|
"xorm.io/xorm" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
func getEngineMySQL(getter *sectionGetter, _ trace.Tracer) (*xorm.Engine, error) { |
|
|
|
|
func getEngineMySQL(getter *sectionGetter, tracer tracing.Tracer) (*xorm.Engine, error) { |
|
|
|
|
config := mysql.NewConfig() |
|
|
|
|
config.User = getter.String("db_user") |
|
|
|
|
config.Passwd = getter.String("db_pass") |
|
|
|
@ -50,7 +51,8 @@ func getEngineMySQL(getter *sectionGetter, _ trace.Tracer) (*xorm.Engine, error) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// FIXME: get rid of xorm
|
|
|
|
|
engine, err := xorm.NewEngine(db.DriverMySQL, config.FormatDSN()) |
|
|
|
|
driverName := sqlstore.WrapDatabaseDriverWithHooks(db.DriverMySQL, tracer) |
|
|
|
|
engine, err := xorm.NewEngine(driverName, config.FormatDSN()) |
|
|
|
|
if err != nil { |
|
|
|
|
return nil, fmt.Errorf("open database: %w", err) |
|
|
|
|
} |
|
|
|
@ -62,7 +64,7 @@ func getEngineMySQL(getter *sectionGetter, _ trace.Tracer) (*xorm.Engine, error) |
|
|
|
|
return engine, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func getEnginePostgres(getter *sectionGetter, _ trace.Tracer) (*xorm.Engine, error) { |
|
|
|
|
func getEnginePostgres(getter *sectionGetter, tracer tracing.Tracer) (*xorm.Engine, error) { |
|
|
|
|
dsnKV := map[string]string{ |
|
|
|
|
"user": getter.String("db_user"), |
|
|
|
|
"password": getter.String("db_pass"), |
|
|
|
@ -104,7 +106,8 @@ func getEnginePostgres(getter *sectionGetter, _ trace.Tracer) (*xorm.Engine, err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// FIXME: get rid of xorm
|
|
|
|
|
engine, err := xorm.NewEngine(db.DriverPostgres, dsn) |
|
|
|
|
driverName := sqlstore.WrapDatabaseDriverWithHooks(db.DriverPostgres, tracer) |
|
|
|
|
engine, err := xorm.NewEngine(driverName, dsn) |
|
|
|
|
if err != nil { |
|
|
|
|
return nil, fmt.Errorf("open database: %w", err) |
|
|
|
|
} |
|
|
|
|