@@ -125,17 +125,11 @@ func (mc *mysqlConn) writePacket(data []byte) error {
125125
126126 n , err := mc .netConn .Write (data [:4 + size ])
127127 if err != nil {
128+ mc .cleanup ()
128129 if cerr := mc .canceled .Value (); cerr != nil {
129130 return cerr
130131 }
131- mc .cleanup ()
132- if n == 0 && pktLen == len (data )- 4 {
133- // only for the first loop iteration when nothing was written yet
134- mc .log (err )
135- return errBadConnNoWrite
136- } else {
137- return err
138- }
132+ return err
139133 }
140134 if n != 4 + size {
141135 // io.Writer(b) must return a non-nil error if it cannot write len(b) bytes.
@@ -305,8 +299,8 @@ func (mc *mysqlConn) writeHandshakeResponsePacket(authResp []byte, plugin string
305299 data , err := mc .buf .takeBuffer (pktLen + 4 )
306300 if err != nil {
307301 // cannot take the buffer. Something must be wrong with the connection
308- mc .log ( err )
309- return errBadConnNoWrite
302+ mc .cleanup ( )
303+ return err
310304 }
311305
312306 // ClientFlags [32 bit]
@@ -395,8 +389,8 @@ func (mc *mysqlConn) writeAuthSwitchPacket(authData []byte) error {
395389 data , err := mc .buf .takeBuffer (pktLen )
396390 if err != nil {
397391 // cannot take the buffer. Something must be wrong with the connection
398- mc .log ( err )
399- return errBadConnNoWrite
392+ mc .cleanup ( )
393+ return err
400394 }
401395
402396 // Add the auth data [EOF]
@@ -415,8 +409,8 @@ func (mc *mysqlConn) writeCommandPacket(command byte) error {
415409 data , err := mc .buf .takeSmallBuffer (4 + 1 )
416410 if err != nil {
417411 // cannot take the buffer. Something must be wrong with the connection
418- mc .log ( err )
419- return errBadConnNoWrite
412+ mc .cleanup ( )
413+ return err
420414 }
421415
422416 // Add command byte
@@ -434,8 +428,8 @@ func (mc *mysqlConn) writeCommandPacketStr(command byte, arg string) error {
434428 data , err := mc .buf .takeBuffer (pktLen + 4 )
435429 if err != nil {
436430 // cannot take the buffer. Something must be wrong with the connection
437- mc .log ( err )
438- return errBadConnNoWrite
431+ mc .cleanup ( )
432+ return err
439433 }
440434
441435 // Add command byte
@@ -455,8 +449,8 @@ func (mc *mysqlConn) writeCommandPacketUint32(command byte, arg uint32) error {
455449 data , err := mc .buf .takeSmallBuffer (4 + 1 + 4 )
456450 if err != nil {
457451 // cannot take the buffer. Something must be wrong with the connection
458- mc .log ( err )
459- return errBadConnNoWrite
452+ mc .cleanup ( )
453+ return err
460454 }
461455
462456 // Add command byte
@@ -998,8 +992,8 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error {
998992 }
999993 if err != nil {
1000994 // cannot take the buffer. Something must be wrong with the connection
1001- mc .log ( err )
1002- return errBadConnNoWrite
995+ mc .cleanup ( )
996+ return err
1003997 }
1004998
1005999 // command [1 byte]
@@ -1197,8 +1191,8 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error {
11971191 if valuesCap != cap (paramValues ) {
11981192 data = append (data [:pos ], paramValues ... )
11991193 if err = mc .buf .store (data ); err != nil {
1200- mc .log ( err )
1201- return errBadConnNoWrite
1194+ mc .cleanup ( )
1195+ return err
12021196 }
12031197 }
12041198
0 commit comments