Skip to content

Commit 2c243fe

Browse files
committed
Remove MySQLVersion enum as we're deprecating 5.7
1 parent 12692b3 commit 2c243fe

File tree

4 files changed

+34
-67
lines changed

4 files changed

+34
-67
lines changed

common/persistence/sql/sqlplugin/mysql/plugin.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (p *plugin) CreateDB(
5353
cfg *config.SQL,
5454
r resolver.ServiceResolver,
5555
) (sqlplugin.DB, error) {
56-
conn, err := p.createDBConnection(session.MySQLVersion5_7, dbKind, cfg, r)
56+
conn, err := p.createDBConnection(dbKind, cfg, r)
5757
if err != nil {
5858
return nil, err
5959
}
@@ -67,7 +67,7 @@ func (p *plugin) CreateAdminDB(
6767
cfg *config.SQL,
6868
r resolver.ServiceResolver,
6969
) (sqlplugin.AdminDB, error) {
70-
conn, err := p.createDBConnection(session.MySQLVersion5_7, sqlplugin.DbKindMain, cfg, r)
70+
conn, err := p.createDBConnection(sqlplugin.DbKindMain, cfg, r)
7171
if err != nil {
7272
return nil, err
7373
}
@@ -80,12 +80,11 @@ func (p *plugin) CreateAdminDB(
8080
// SQL database and the object can be used to perform CRUD operations on
8181
// the tables in the database
8282
func (p *plugin) createDBConnection(
83-
version session.MySQLVersion,
8483
dbKind sqlplugin.DbKind,
8584
cfg *config.SQL,
8685
resolver resolver.ServiceResolver,
8786
) (*sqlx.DB, error) {
88-
mysqlSession, err := session.NewSession(version, dbKind, cfg, resolver)
87+
mysqlSession, err := session.NewSession(dbKind, cfg, resolver)
8988
if err != nil {
9089
return nil, err
9190
}

common/persistence/sql/sqlplugin/mysql/plugin_v8.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828
"go.temporal.io/server/common/config"
2929
"go.temporal.io/server/common/persistence/sql"
3030
"go.temporal.io/server/common/persistence/sql/sqlplugin"
31-
"go.temporal.io/server/common/persistence/sql/sqlplugin/mysql/session"
3231
"go.temporal.io/server/common/resolver"
3332
)
3433

@@ -53,7 +52,7 @@ func (p *pluginV8) CreateDB(
5352
cfg *config.SQL,
5453
r resolver.ServiceResolver,
5554
) (sqlplugin.DB, error) {
56-
conn, err := p.createDBConnection(session.MySQLVersion8_0, dbKind, cfg, r)
55+
conn, err := p.createDBConnection(dbKind, cfg, r)
5756
if err != nil {
5857
return nil, err
5958
}
@@ -67,7 +66,7 @@ func (p *pluginV8) CreateAdminDB(
6766
cfg *config.SQL,
6867
r resolver.ServiceResolver,
6968
) (sqlplugin.AdminDB, error) {
70-
conn, err := p.createDBConnection(session.MySQLVersion8_0, sqlplugin.DbKindMain, cfg, r)
69+
conn, err := p.createDBConnection(sqlplugin.DbKindMain, cfg, r)
7170
if err != nil {
7271
return nil, err
7372
}

common/persistence/sql/sqlplugin/mysql/session/session.go

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,9 @@ import (
4242
"go.temporal.io/server/common/resolver"
4343
)
4444

45-
type (
46-
Session struct {
47-
*sqlx.DB
48-
}
49-
50-
MySQLVersion int
51-
)
52-
53-
const (
54-
MySQLVersionUnspecified MySQLVersion = iota
55-
MySQLVersion5_7
56-
MySQLVersion8_0
57-
)
45+
type Session struct {
46+
*sqlx.DB
47+
}
5848

5949
const (
6050
driverName = "mysql"
@@ -69,36 +59,19 @@ const (
6959
)
7060

7161
var (
72-
errUnspecifiedMySQLVersion = errors.New("bug: mysql version left unspecified")
7362
errMySQL8VisInterpolateParamsNotSupported = errors.New("interpolateParams is not supported for mysql8 visibility stores")
7463
dsnAttrOverrides = map[string]string{
7564
"parseTime": "true",
7665
"clientFoundRows": "true",
7766
}
7867
)
7968

80-
func (m MySQLVersion) String() string {
81-
switch m {
82-
case MySQLVersion5_7:
83-
return "MySQL 5.7"
84-
case MySQLVersion8_0:
85-
return "MySQL 8.0"
86-
default:
87-
return "Unspecified"
88-
}
89-
}
90-
9169
func NewSession(
92-
version MySQLVersion,
9370
dbKind sqlplugin.DbKind,
9471
cfg *config.SQL,
9572
resolver resolver.ServiceResolver,
9673
) (*Session, error) {
97-
if version == MySQLVersionUnspecified {
98-
return nil, errUnspecifiedMySQLVersion
99-
}
100-
101-
db, err := createConnection(version, dbKind, cfg, resolver)
74+
db, err := createConnection(dbKind, cfg, resolver)
10275
if err != nil {
10376
return nil, err
10477
}
@@ -112,7 +85,6 @@ func (s *Session) Close() {
11285
}
11386

11487
func createConnection(
115-
version MySQLVersion,
11688
dbKind sqlplugin.DbKind,
11789
cfg *config.SQL,
11890
resolver resolver.ServiceResolver,
@@ -122,7 +94,7 @@ func createConnection(
12294
return nil, err
12395
}
12496

125-
dsn, err := buildDSN(version, dbKind, cfg, resolver)
97+
dsn, err := buildDSN(dbKind, cfg, resolver)
12698
if err != nil {
12799
return nil, err
128100
}
@@ -147,7 +119,6 @@ func createConnection(
147119
}
148120

149121
func buildDSN(
150-
version MySQLVersion,
151122
dbKind sqlplugin.DbKind,
152123
cfg *config.SQL,
153124
r resolver.ServiceResolver,
@@ -160,7 +131,7 @@ func buildDSN(
160131
mysqlConfig.DBName = cfg.DatabaseName
161132
mysqlConfig.Net = cfg.ConnectProtocol
162133
var err error
163-
mysqlConfig.Params, err = buildDSNAttrs(version, dbKind, cfg)
134+
mysqlConfig.Params, err = buildDSNAttrs(dbKind, cfg)
164135
if err != nil {
165136
return "", err
166137
}
@@ -178,7 +149,7 @@ func buildDSN(
178149
return mysqlConfig.FormatDSN(), nil
179150
}
180151

181-
func buildDSNAttrs(version MySQLVersion, dbKind sqlplugin.DbKind, cfg *config.SQL) (map[string]string, error) {
152+
func buildDSNAttrs(dbKind sqlplugin.DbKind, cfg *config.SQL) (map[string]string, error) {
182153
attrs := make(map[string]string, len(dsnAttrOverrides)+len(cfg.ConnectAttributes)+1)
183154
for k, v := range cfg.ConnectAttributes {
184155
k1, v1 := sanitizeAttr(k, v)
@@ -196,7 +167,7 @@ func buildDSNAttrs(version MySQLVersion, dbKind sqlplugin.DbKind, cfg *config.SQ
196167
attrs[k] = v
197168
}
198169

199-
if version == MySQLVersion8_0 && dbKind == sqlplugin.DbKindVisibility {
170+
if dbKind == sqlplugin.DbKindVisibility {
200171
if _, ok := attrs[interpolateParamsAttr]; ok {
201172
return nil, errMySQL8VisInterpolateParamsNotSupported
202173
}

common/persistence/sql/sqlplugin/mysql/session/session_test.go

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -146,33 +146,31 @@ func (s *sessionTestSuite) TestBuildDSN() {
146146
},
147147
}
148148

149-
for _, version := range []MySQLVersion{MySQLVersion5_7, MySQLVersion8_0} {
150-
for _, dbKind := range []sqlplugin.DbKind{sqlplugin.DbKindMain, sqlplugin.DbKindVisibility} {
151-
for _, tc := range testCases {
152-
s.Run(fmt.Sprintf("%s %s: %s", version.String(), dbKind.String(), tc.name), func() {
153-
r := resolver.NewMockServiceResolver(s.controller)
154-
r.EXPECT().Resolve(tc.in.ConnectAddr).Return([]string{tc.in.ConnectAddr})
155-
156-
out, err := buildDSN(version, dbKind, &tc.in, r)
157-
if tc.expectInvalidConfig {
158-
s.Error(err, "Expected an invalid configuration error")
159-
} else {
160-
s.NoError(err)
161-
}
162-
s.True(strings.HasPrefix(out, tc.outURLPath), "invalid url path")
163-
tokens := strings.Split(out, "?")
164-
s.Equal(2, len(tokens), "invalid url")
165-
qry, err := url.Parse("?" + tokens[1])
149+
for _, dbKind := range []sqlplugin.DbKind{sqlplugin.DbKindMain, sqlplugin.DbKindVisibility} {
150+
for _, tc := range testCases {
151+
s.Run(fmt.Sprintf("%s: %s", dbKind.String(), tc.name), func() {
152+
r := resolver.NewMockServiceResolver(s.controller)
153+
r.EXPECT().Resolve(tc.in.ConnectAddr).Return([]string{tc.in.ConnectAddr})
154+
155+
out, err := buildDSN(dbKind, &tc.in, r)
156+
if tc.expectInvalidConfig {
157+
s.Error(err, "Expected an invalid configuration error")
158+
} else {
166159
s.NoError(err)
167-
wantAttrs := buildExpectedURLParams(tc.in.ConnectAttributes, tc.outIsolationKey, tc.outIsolationVal)
168-
s.Equal(wantAttrs, qry.Query(), "invalid dsn url params")
169-
})
170-
}
160+
}
161+
s.True(strings.HasPrefix(out, tc.outURLPath), "invalid url path")
162+
tokens := strings.Split(out, "?")
163+
s.Equal(2, len(tokens), "invalid url")
164+
qry, err := url.Parse("?" + tokens[1])
165+
s.NoError(err)
166+
wantAttrs := buildExpectedURLParams(tc.in.ConnectAttributes, tc.outIsolationKey, tc.outIsolationVal)
167+
s.Equal(wantAttrs, qry.Query(), "invalid dsn url params")
168+
})
171169
}
172170
}
173171
}
174172

175-
func (s *sessionTestSuite) Test_MySQL8_Visibility_DoesntSupport_interpolateParams() {
173+
func (s *sessionTestSuite) Test_Visibility_DoesntSupport_interpolateParams() {
176174
cfg := config.SQL{
177175
User: "test",
178176
Password: "pass",
@@ -183,7 +181,7 @@ func (s *sessionTestSuite) Test_MySQL8_Visibility_DoesntSupport_interpolateParam
183181
}
184182
r := resolver.NewMockServiceResolver(s.controller)
185183
r.EXPECT().Resolve(cfg.ConnectAddr).Return([]string{cfg.ConnectAddr})
186-
_, err := buildDSN(MySQLVersion8_0, sqlplugin.DbKindVisibility, &cfg, r)
184+
_, err := buildDSN(sqlplugin.DbKindVisibility, &cfg, r)
187185
s.Error(err, "We should return an error when a MySQL8 Visibility database is configured with interpolateParams")
188186
}
189187

0 commit comments

Comments
 (0)