Skip to content

Commit 8fd2c2a

Browse files
feat: removing short cicuit in client use db (#1067)
* feat: adding force use db in client conn * fix: just remove the short circuit all together * add unit test Signed-off-by: lance6716 <[email protected]> --------- Signed-off-by: lance6716 <[email protected]> Co-authored-by: lance6716 <[email protected]>
1 parent 6675966 commit 8fd2c2a

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

client/conn.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -268,10 +268,6 @@ func (c *Conn) SetTLSConfig(config *tls.Config) {
268268
}
269269

270270
func (c *Conn) UseDB(dbName string) error {
271-
if c.db == dbName {
272-
return nil
273-
}
274-
275271
if err := c.writeCommandStr(mysql.COM_INIT_DB, dbName); err != nil {
276272
return errors.Trace(err)
277273
}

client/conn_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,3 +210,30 @@ func (s *connTestSuite) TestSetQueryAttributes() {
210210
}
211211
require.Equal(s.T(), expected, s.c.queryAttributes)
212212
}
213+
214+
func (s *connTestSuite) TestUseDB() {
215+
_, err := s.c.Execute("create database if not exists proxier;")
216+
require.NoError(s.T(), err)
217+
err = s.c.UseDB("proxier")
218+
require.NoError(s.T(), err)
219+
result, err := s.c.Execute("select database();")
220+
require.NoError(s.T(), err)
221+
value, err := result.GetString(0, 0)
222+
require.NoError(s.T(), err)
223+
require.Equal(s.T(), "proxier", value)
224+
_, err = s.c.Execute("drop database proxier;")
225+
require.NoError(s.T(), err)
226+
_, err = s.c.Execute("create database proxier;")
227+
require.NoError(s.T(), err)
228+
err = s.c.UseDB("proxier")
229+
require.NoError(s.T(), err)
230+
result, err = s.c.Execute("select database();")
231+
require.NoError(s.T(), err)
232+
value, err = result.GetString(0, 0)
233+
require.NoError(s.T(), err)
234+
require.Equal(s.T(), "proxier", value)
235+
_, err = s.c.Execute("drop database proxier;")
236+
require.NoError(s.T(), err)
237+
err = s.c.UseDB("test")
238+
require.NoError(s.T(), err)
239+
}

0 commit comments

Comments
 (0)