@@ -111,23 +111,12 @@ func (mc *mysqlConn) handleParams() (err error) {
111111 return
112112}
113113
114- func (mc * mysqlConn ) markBadConn (err error ) error {
115- if mc == nil {
116- return err
117- }
118- if err != errBadConnNoWrite {
119- return err
120- }
121- return driver .ErrBadConn
122- }
123-
124114func (mc * mysqlConn ) Begin () (driver.Tx , error ) {
125115 return mc .begin (false )
126116}
127117
128118func (mc * mysqlConn ) begin (readOnly bool ) (driver.Tx , error ) {
129119 if mc .closed .Load () {
130- mc .log (ErrInvalidConn )
131120 return nil , driver .ErrBadConn
132121 }
133122 var q string
@@ -140,7 +129,7 @@ func (mc *mysqlConn) begin(readOnly bool) (driver.Tx, error) {
140129 if err == nil {
141130 return & mysqlTx {mc }, err
142131 }
143- return nil , mc . markBadConn ( err )
132+ return nil , err
144133}
145134
146135func (mc * mysqlConn ) Close () (err error ) {
@@ -189,7 +178,6 @@ func (mc *mysqlConn) error() error {
189178
190179func (mc * mysqlConn ) Prepare (query string ) (driver.Stmt , error ) {
191180 if mc .closed .Load () {
192- mc .log (ErrInvalidConn )
193181 return nil , driver .ErrBadConn
194182 }
195183 // Send command
@@ -324,7 +312,6 @@ func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (strin
324312
325313func (mc * mysqlConn ) Exec (query string , args []driver.Value ) (driver.Result , error ) {
326314 if mc .closed .Load () {
327- mc .log (ErrInvalidConn )
328315 return nil , driver .ErrBadConn
329316 }
330317 if len (args ) != 0 {
@@ -344,15 +331,15 @@ func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, err
344331 copied := mc .result
345332 return & copied , err
346333 }
347- return nil , mc . markBadConn ( err )
334+ return nil , err
348335}
349336
350337// Internal function to execute commands
351338func (mc * mysqlConn ) exec (query string ) error {
352339 handleOk := mc .clearResult ()
353340 // Send command
354341 if err := mc .writeCommandPacketStr (comQuery , query ); err != nil {
355- return mc . markBadConn ( err )
342+ return err
356343 }
357344
358345 // Read Result
@@ -382,11 +369,10 @@ func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, erro
382369
383370func (mc * mysqlConn ) query (query string , args []driver.Value ) (* textRows , error ) {
384371 handleOk := mc .clearResult ()
385-
386372 if mc .closed .Load () {
387- mc .log (ErrInvalidConn )
388373 return nil , driver .ErrBadConn
389374 }
375+
390376 if len (args ) != 0 {
391377 if ! mc .cfg .InterpolateParams {
392378 return nil , driver .ErrSkip
@@ -398,17 +384,18 @@ func (mc *mysqlConn) query(query string, args []driver.Value) (*textRows, error)
398384 }
399385 query = prepared
400386 }
387+
401388 // Send command
402389 err := mc .writeCommandPacketStr (comQuery , query )
403390 if err != nil {
404- return nil , mc . markBadConn ( err )
391+ return nil , err
405392 }
406393
407394 // Read Result
408395 var resLen int
409396 resLen , err = handleOk .readResultSetHeaderPacket ()
410397 if err != nil {
411- return nil , mc . markBadConn ( err )
398+ return nil , err
412399 }
413400
414401 rows := new (textRows )
@@ -482,7 +469,6 @@ func (mc *mysqlConn) finish() {
482469// Ping implements driver.Pinger interface
483470func (mc * mysqlConn ) Ping (ctx context.Context ) (err error ) {
484471 if mc .closed .Load () {
485- mc .log (ErrInvalidConn )
486472 return driver .ErrBadConn
487473 }
488474
@@ -493,7 +479,7 @@ func (mc *mysqlConn) Ping(ctx context.Context) (err error) {
493479
494480 handleOk := mc .clearResult ()
495481 if err = mc .writeCommandPacket (comPing ); err != nil {
496- return mc . markBadConn ( err )
482+ return err
497483 }
498484
499485 return handleOk .readResultOK ()
@@ -699,8 +685,12 @@ func (mc *mysqlConn) ResetSession(ctx context.Context) error {
699685 return nil
700686}
701687
688+ var _ driver.SessionResetter = & mysqlConn {}
689+
702690// IsValid implements driver.Validator interface
703691// (From Go 1.15)
704692func (mc * mysqlConn ) IsValid () bool {
705693 return ! mc .closed .Load ()
706694}
695+
696+ var _ driver.Validator = & mysqlConn {}
0 commit comments