| 665 | } |
| 666 | |
| 667 | func (mc *mysqlConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) { |
| 668 | if err := mc.watchCancel(ctx); err != nil { |
| 669 | return nil, err |
| 670 | } |
| 671 | |
| 672 | stmt, err := mc.Prepare(query) |
| 673 | mc.finish() |
| 674 | if err != nil { |
| 675 | return nil, err |
| 676 | } |
| 677 | |
| 678 | select { |
| 679 | default: |
| 680 | case <-ctx.Done(): |
| 681 | stmt.Close() |
| 682 | return nil, ctx.Err() |
| 683 | } |
| 684 | return stmt, nil |
| 685 | } |
| 686 | |
| 687 | func (stmt *mysqlStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) { |
| 688 | dargs, err := namedValueToValue(args) |