Skip to content

Commit 1a64773

Browse files
authored
add wrapper method to call mc.cfg.Logger (go-sql-driver#1563)
1 parent 35847be commit 1a64773

File tree

4 files changed

+29
-24
lines changed

4 files changed

+29
-24
lines changed

auth.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ func (mc *mysqlConn) auth(authData []byte, plugin string) ([]byte, error) {
338338
return authEd25519(authData, mc.cfg.Passwd)
339339

340340
default:
341-
mc.cfg.Logger.Print("unknown auth plugin:", plugin)
341+
mc.log("unknown auth plugin:", plugin)
342342
return nil, ErrUnknownPlugin
343343
}
344344
}

connection.go

+14-9
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ type mysqlConn struct {
4545
closed atomic.Bool // set when conn is closed, before closech is closed
4646
}
4747

48+
// Helper function to call per-connection logger.
49+
func (mc *mysqlConn) log(v ...any) {
50+
mc.cfg.Logger.Print(v...)
51+
}
52+
4853
// Handles parameters set in DSN after the connection is established
4954
func (mc *mysqlConn) handleParams() (err error) {
5055
var cmdSet strings.Builder
@@ -110,7 +115,7 @@ func (mc *mysqlConn) Begin() (driver.Tx, error) {
110115

111116
func (mc *mysqlConn) begin(readOnly bool) (driver.Tx, error) {
112117
if mc.closed.Load() {
113-
mc.cfg.Logger.Print(ErrInvalidConn)
118+
mc.log(ErrInvalidConn)
114119
return nil, driver.ErrBadConn
115120
}
116121
var q string
@@ -152,7 +157,7 @@ func (mc *mysqlConn) cleanup() {
152157
return
153158
}
154159
if err := mc.netConn.Close(); err != nil {
155-
mc.cfg.Logger.Print(err)
160+
mc.log(err)
156161
}
157162
mc.clearResult()
158163
}
@@ -169,14 +174,14 @@ func (mc *mysqlConn) error() error {
169174

170175
func (mc *mysqlConn) Prepare(query string) (driver.Stmt, error) {
171176
if mc.closed.Load() {
172-
mc.cfg.Logger.Print(ErrInvalidConn)
177+
mc.log(ErrInvalidConn)
173178
return nil, driver.ErrBadConn
174179
}
175180
// Send command
176181
err := mc.writeCommandPacketStr(comStmtPrepare, query)
177182
if err != nil {
178183
// STMT_PREPARE is safe to retry. So we can return ErrBadConn here.
179-
mc.cfg.Logger.Print(err)
184+
mc.log(err)
180185
return nil, driver.ErrBadConn
181186
}
182187

@@ -210,7 +215,7 @@ func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (strin
210215
buf, err := mc.buf.takeCompleteBuffer()
211216
if err != nil {
212217
// can not take the buffer. Something must be wrong with the connection
213-
mc.cfg.Logger.Print(err)
218+
mc.log(err)
214219
return "", ErrInvalidConn
215220
}
216221
buf = buf[:0]
@@ -302,7 +307,7 @@ func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (strin
302307

303308
func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, error) {
304309
if mc.closed.Load() {
305-
mc.cfg.Logger.Print(ErrInvalidConn)
310+
mc.log(ErrInvalidConn)
306311
return nil, driver.ErrBadConn
307312
}
308313
if len(args) != 0 {
@@ -362,7 +367,7 @@ func (mc *mysqlConn) query(query string, args []driver.Value) (*textRows, error)
362367
handleOk := mc.clearResult()
363368

364369
if mc.closed.Load() {
365-
mc.cfg.Logger.Print(ErrInvalidConn)
370+
mc.log(ErrInvalidConn)
366371
return nil, driver.ErrBadConn
367372
}
368373
if len(args) != 0 {
@@ -457,7 +462,7 @@ func (mc *mysqlConn) finish() {
457462
// Ping implements driver.Pinger interface
458463
func (mc *mysqlConn) Ping(ctx context.Context) (err error) {
459464
if mc.closed.Load() {
460-
mc.cfg.Logger.Print(ErrInvalidConn)
465+
mc.log(ErrInvalidConn)
461466
return driver.ErrBadConn
462467
}
463468

@@ -666,7 +671,7 @@ func (mc *mysqlConn) ResetSession(ctx context.Context) error {
666671
err = connCheck(conn)
667672
}
668673
if err != nil {
669-
mc.cfg.Logger.Print("closing bad idle connection: ", err)
674+
mc.log("closing bad idle connection: ", err)
670675
return driver.ErrBadConn
671676
}
672677
}

packets.go

+12-12
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func (mc *mysqlConn) readPacket() ([]byte, error) {
3434
if cerr := mc.canceled.Value(); cerr != nil {
3535
return nil, cerr
3636
}
37-
mc.cfg.Logger.Print(err)
37+
mc.log(err)
3838
mc.Close()
3939
return nil, ErrInvalidConn
4040
}
@@ -57,7 +57,7 @@ func (mc *mysqlConn) readPacket() ([]byte, error) {
5757
if pktLen == 0 {
5858
// there was no previous packet
5959
if prevData == nil {
60-
mc.cfg.Logger.Print(ErrMalformPkt)
60+
mc.log(ErrMalformPkt)
6161
mc.Close()
6262
return nil, ErrInvalidConn
6363
}
@@ -71,7 +71,7 @@ func (mc *mysqlConn) readPacket() ([]byte, error) {
7171
if cerr := mc.canceled.Value(); cerr != nil {
7272
return nil, cerr
7373
}
74-
mc.cfg.Logger.Print(err)
74+
mc.log(err)
7575
mc.Close()
7676
return nil, ErrInvalidConn
7777
}
@@ -134,7 +134,7 @@ func (mc *mysqlConn) writePacket(data []byte) error {
134134
// Handle error
135135
if err == nil { // n != len(data)
136136
mc.cleanup()
137-
mc.cfg.Logger.Print(ErrMalformPkt)
137+
mc.log(ErrMalformPkt)
138138
} else {
139139
if cerr := mc.canceled.Value(); cerr != nil {
140140
return cerr
@@ -144,7 +144,7 @@ func (mc *mysqlConn) writePacket(data []byte) error {
144144
return errBadConnNoWrite
145145
}
146146
mc.cleanup()
147-
mc.cfg.Logger.Print(err)
147+
mc.log(err)
148148
}
149149
return ErrInvalidConn
150150
}
@@ -302,7 +302,7 @@ func (mc *mysqlConn) writeHandshakeResponsePacket(authResp []byte, plugin string
302302
data, err := mc.buf.takeBuffer(pktLen + 4)
303303
if err != nil {
304304
// cannot take the buffer. Something must be wrong with the connection
305-
mc.cfg.Logger.Print(err)
305+
mc.log(err)
306306
return errBadConnNoWrite
307307
}
308308

@@ -392,7 +392,7 @@ func (mc *mysqlConn) writeAuthSwitchPacket(authData []byte) error {
392392
data, err := mc.buf.takeSmallBuffer(pktLen)
393393
if err != nil {
394394
// cannot take the buffer. Something must be wrong with the connection
395-
mc.cfg.Logger.Print(err)
395+
mc.log(err)
396396
return errBadConnNoWrite
397397
}
398398

@@ -412,7 +412,7 @@ func (mc *mysqlConn) writeCommandPacket(command byte) error {
412412
data, err := mc.buf.takeSmallBuffer(4 + 1)
413413
if err != nil {
414414
// cannot take the buffer. Something must be wrong with the connection
415-
mc.cfg.Logger.Print(err)
415+
mc.log(err)
416416
return errBadConnNoWrite
417417
}
418418

@@ -431,7 +431,7 @@ func (mc *mysqlConn) writeCommandPacketStr(command byte, arg string) error {
431431
data, err := mc.buf.takeBuffer(pktLen + 4)
432432
if err != nil {
433433
// cannot take the buffer. Something must be wrong with the connection
434-
mc.cfg.Logger.Print(err)
434+
mc.log(err)
435435
return errBadConnNoWrite
436436
}
437437

@@ -452,7 +452,7 @@ func (mc *mysqlConn) writeCommandPacketUint32(command byte, arg uint32) error {
452452
data, err := mc.buf.takeSmallBuffer(4 + 1 + 4)
453453
if err != nil {
454454
// cannot take the buffer. Something must be wrong with the connection
455-
mc.cfg.Logger.Print(err)
455+
mc.log(err)
456456
return errBadConnNoWrite
457457
}
458458

@@ -994,7 +994,7 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error {
994994
}
995995
if err != nil {
996996
// cannot take the buffer. Something must be wrong with the connection
997-
mc.cfg.Logger.Print(err)
997+
mc.log(err)
998998
return errBadConnNoWrite
999999
}
10001000

@@ -1193,7 +1193,7 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error {
11931193
if valuesCap != cap(paramValues) {
11941194
data = append(data[:pos], paramValues...)
11951195
if err = mc.buf.store(data); err != nil {
1196-
mc.cfg.Logger.Print(err)
1196+
mc.log(err)
11971197
return errBadConnNoWrite
11981198
}
11991199
}

statement.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (stmt *mysqlStmt) CheckNamedValue(nv *driver.NamedValue) (err error) {
5151

5252
func (stmt *mysqlStmt) Exec(args []driver.Value) (driver.Result, error) {
5353
if stmt.mc.closed.Load() {
54-
stmt.mc.cfg.Logger.Print(ErrInvalidConn)
54+
stmt.mc.log(ErrInvalidConn)
5555
return nil, driver.ErrBadConn
5656
}
5757
// Send command
@@ -95,7 +95,7 @@ func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) {
9595

9696
func (stmt *mysqlStmt) query(args []driver.Value) (*binaryRows, error) {
9797
if stmt.mc.closed.Load() {
98-
stmt.mc.cfg.Logger.Print(ErrInvalidConn)
98+
stmt.mc.log(ErrInvalidConn)
9999
return nil, driver.ErrBadConn
100100
}
101101
// Send command

0 commit comments

Comments
 (0)