Chore: Register a feature flag for "newDBLibrary" (#57468)
This commit is contained in:
@@ -54,6 +54,7 @@ export interface FeatureToggles {
|
||||
traceToMetrics?: boolean;
|
||||
prometheusStreamingJSONParser?: boolean;
|
||||
prometheusStreamingJSONParserTest?: boolean;
|
||||
newDBLibrary?: boolean;
|
||||
validateDashboardsOnSave?: boolean;
|
||||
autoMigrateGraphPanels?: boolean;
|
||||
prometheusWideSeries?: boolean;
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"github.com/grafana/grafana/pkg/infra/db"
|
||||
"github.com/grafana/grafana/pkg/services/apikey"
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
|
||||
@@ -13,7 +14,7 @@ type Service struct {
|
||||
}
|
||||
|
||||
func ProvideService(db db.DB, cfg *setting.Cfg) apikey.Service {
|
||||
if cfg.IsFeatureToggleEnabled("newDBLibrary") {
|
||||
if cfg.IsFeatureToggleEnabled(featuremgmt.FlagNewDBLibrary) {
|
||||
return &Service{
|
||||
store: &sqlxStore{
|
||||
sess: db.GetSqlxSession(),
|
||||
|
||||
@@ -213,6 +213,11 @@ var (
|
||||
Description: "Run both old and streaming requests and log differences",
|
||||
State: FeatureStateBeta,
|
||||
},
|
||||
{
|
||||
Name: "newDBLibrary",
|
||||
Description: "Use jmoiron/sqlx rather than xorm for a few backend services",
|
||||
State: FeatureStateBeta,
|
||||
},
|
||||
{
|
||||
Name: "validateDashboardsOnSave",
|
||||
Description: "Validate dashboard JSON POSTed to api/dashboards/db",
|
||||
|
||||
@@ -159,6 +159,10 @@ const (
|
||||
// Run both old and streaming requests and log differences
|
||||
FlagPrometheusStreamingJSONParserTest = "prometheusStreamingJSONParserTest"
|
||||
|
||||
// FlagNewDBLibrary
|
||||
// Use jmoiron/sqlx rather than xorm for a few backend services
|
||||
FlagNewDBLibrary = "newDBLibrary"
|
||||
|
||||
// FlagValidateDashboardsOnSave
|
||||
// Validate dashboard JSON POSTed to api/dashboards/db
|
||||
FlagValidateDashboardsOnSave = "validateDashboardsOnSave"
|
||||
|
||||
@@ -19,7 +19,7 @@ func ProvideService(db db.DB, toggles featuremgmt.FeatureToggles, objserver obje
|
||||
var sqlstore store
|
||||
|
||||
// 🐢🐢🐢 pick the store
|
||||
if toggles.IsEnabled("newDBLibrary") { // hymmm not a registered feature flag
|
||||
if toggles.IsEnabled(featuremgmt.FlagNewDBLibrary) { // hymmm not a registered feature flag
|
||||
sqlstore = &sqlxStore{
|
||||
sess: db.GetSqlxSession(),
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ func ProvideService(db db.DB, cfg *setting.Cfg, features *featuremgmt.FeatureMan
|
||||
cfg: cfg,
|
||||
features: features,
|
||||
}
|
||||
if cfg.IsFeatureToggleEnabled("newDBLibrary") {
|
||||
if features.IsEnabled(featuremgmt.FlagNewDBLibrary) {
|
||||
service.store = &sqlxStore{
|
||||
sess: db.GetSqlxSession(),
|
||||
}
|
||||
|
||||
@@ -289,11 +289,11 @@ func (ss *SQLStore) buildConnectionString() (string, error) {
|
||||
cnnstr += fmt.Sprintf("&tx_isolation=%s", val)
|
||||
}
|
||||
|
||||
if ss.Cfg.IsFeatureToggleEnabled(featuremgmt.FlagMysqlAnsiQuotes) || ss.Cfg.IsFeatureToggleEnabled("newDBLibrary") {
|
||||
if ss.Cfg.IsFeatureToggleEnabled(featuremgmt.FlagMysqlAnsiQuotes) || ss.Cfg.IsFeatureToggleEnabled(featuremgmt.FlagNewDBLibrary) {
|
||||
cnnstr += "&sql_mode='ANSI_QUOTES'"
|
||||
}
|
||||
|
||||
if ss.Cfg.IsFeatureToggleEnabled("newDBLibrary") {
|
||||
if ss.Cfg.IsFeatureToggleEnabled(featuremgmt.FlagNewDBLibrary) {
|
||||
cnnstr += "&parseTime=true"
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/grafana/grafana/pkg/infra/db"
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/grafana/grafana/pkg/services/star"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
@@ -13,7 +14,7 @@ type Service struct {
|
||||
}
|
||||
|
||||
func ProvideService(db db.DB, cfg *setting.Cfg) star.Service {
|
||||
if cfg.IsFeatureToggleEnabled("newDBLibrary") {
|
||||
if cfg.IsFeatureToggleEnabled(featuremgmt.FlagNewDBLibrary) {
|
||||
return &Service{
|
||||
store: &sqlxStore{
|
||||
sess: db.GetSqlxSession(),
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/grafana/grafana/pkg/infra/db"
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/grafana/grafana/pkg/services/tag"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
@@ -13,7 +14,7 @@ type Service struct {
|
||||
}
|
||||
|
||||
func ProvideService(db db.DB, cfg *setting.Cfg) *Service {
|
||||
if cfg.IsFeatureToggleEnabled("newDBLibrary") {
|
||||
if cfg.IsFeatureToggleEnabled(featuremgmt.FlagNewDBLibrary) {
|
||||
return &Service{
|
||||
store: &sqlxStore{
|
||||
sess: db.GetSqlxSession(),
|
||||
|
||||
Reference in New Issue
Block a user