MCPcopy
hub / github.com/go-sql-driver/mysql / query

Method query

connection.go:490–537  ·  view source on GitHub ↗
(query string, args []driver.Value)

Source from the content-addressed store, hash-verified

488}
489
490func (mc *mysqlConn) query(query string, args []driver.Value) (*textRows, error) {
491 handleOk := mc.clearResult()
492
493 if mc.closed.Load() {
494 return nil, driver.ErrBadConn
495 }
496 if len(args) != 0 {
497 if !mc.cfg.InterpolateParams {
498 return nil, driver.ErrSkip
499 }
500 // try client-side prepare to reduce roundtrip
501 prepared, err := mc.interpolateParams(query, args)
502 if err != nil {
503 return nil, err
504 }
505 query = prepared
506 }
507 // Send command
508 err := mc.writeCommandPacketStr(comQuery, query)
509 if err != nil {
510 return nil, mc.markBadConn(err)
511 }
512
513 // Read Result
514 var resLen int
515 resLen, _, err = handleOk.readResultSetHeaderPacket()
516 if err != nil {
517 return nil, err
518 }
519
520 rows := new(textRows)
521 rows.mc = mc
522
523 if resLen == 0 {
524 rows.rs.done = true
525
526 switch err := rows.NextResultSet(); err {
527 case nil, io.EOF:
528 return rows, nil
529 default:
530 return nil, err
531 }
532 }
533
534 // Columns
535 rows.rs.columns, err = mc.readColumns(resLen, nil)
536 return rows, err
537}
538
539// Gets the value of the given MySQL System Variable
540func (mc *mysqlConn) getSystemVar(name string) (string, error) {

Callers 2

QueryMethod · 0.95
QueryContextMethod · 0.95

Calls 7

clearResultMethod · 0.95
interpolateParamsMethod · 0.95
writeCommandPacketStrMethod · 0.95
markBadConnMethod · 0.95
readColumnsMethod · 0.95
NextResultSetMethod · 0.45

Tested by

no test coverage detected