SQLStore: Fix parseTime check (#94175)

pull/94221/head
Stephanie Hingtgen 9 months ago committed by GitHub
parent ee8bb63d2d
commit 4623a6471b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      pkg/services/sqlstore/sqlstore.go
  2. 7
      pkg/services/sqlstore/sqlstore_test.go

@ -289,7 +289,7 @@ func (ss *SQLStore) initEngine(engine *xorm.Engine) error {
}
if engine == nil {
// Ensure that parseTime is enabled for MySQL
if ss.features.IsEnabledGlobally(featuremgmt.FlagMysqlParseTime) && ss.dbCfg.Type == migrator.MySQL && !strings.Contains(ss.dbCfg.ConnectionString, "parseTime=") {
if ss.features.IsEnabledGlobally(featuremgmt.FlagMysqlParseTime) && strings.Contains(ss.dbCfg.Type, migrator.MySQL) && !strings.Contains(ss.dbCfg.ConnectionString, "parseTime=") {
if strings.Contains(ss.dbCfg.ConnectionString, "?") {
ss.dbCfg.ConnectionString += "&parseTime=true"
} else {

@ -93,6 +93,13 @@ func TestInitEngine_ParseTimeInConnectionString(t *testing.T) {
featureEnabled: true,
expectedConnection: "user:password@tcp(localhost:3306)/existingparams?collation=utf8mb4_unicode_ci&allowNativePasswords=true&clientFoundRows=true&charset=utf8&parseTime=true",
},
{
name: "MySQL with feature enabled",
connectionString: "mysql://user:password@localhost:3306/existingparams?charset=utf8",
dbType: "mysqlWithHooks",
featureEnabled: true,
expectedConnection: "user:password@tcp(localhost:3306)/existingparams?collation=utf8mb4_unicode_ci&allowNativePasswords=true&clientFoundRows=true&charset=utf8&parseTime=true",
},
{
name: "MySQL with feature disabled",
connectionString: "mysql://user:password@localhost:3306/disabled",

Loading…
Cancel
Save