Chore: Register a feature flag for "newDBLibrary" (#57468)

This commit is contained in:
Ryan McKinley
2022-10-25 18:20:41 -07:00
committed by GitHub
parent 860380d893
commit a3acfb1a48
9 changed files with 20 additions and 7 deletions
@@ -54,6 +54,7 @@ export interface FeatureToggles {
traceToMetrics?: boolean;
prometheusStreamingJSONParser?: boolean;
prometheusStreamingJSONParserTest?: boolean;
newDBLibrary?: boolean;
validateDashboardsOnSave?: boolean;
autoMigrateGraphPanels?: boolean;
prometheusWideSeries?: boolean;
+2 -1
View File
@@ -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(),
+5
View File
@@ -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",
+4
View File
@@ -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(),
}
+1 -1
View File
@@ -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(),
}
+2 -2
View File
@@ -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"
}
+2 -1
View File
@@ -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(),
+2 -1
View File
@@ -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(),