func (stmt *Stmt) Exec(ctx context.Context, args ...interface{}) (sql.Result, error) {
	return stmt.ExecContext(ctx, args...)
}
Exec captures executing a prepared statement with the given arguments and
returning a Result summarizing the effect of the statement and adds corresponding
information into subsegment.
package xray
import (
	"context"
	"database/sql"
)
func SQL(driver, dsn string) (*DB, error) {
	db, err := SQLContext(driver, dsn)
	if err != nil {
		return nil, err
	}
	return &DB{DB: db}, nil
}
type DB struct {
	*sql.DB
}
func (db *DB) Begin(ctx context.Context, opts *sql.TxOptions) (*Tx, error) {
	tx, err := db.BeginTx(ctx, opts)
	if err != nil {
		return nil, err
	}
	return &Tx{Tx: tx}, nil
}
func (db *DB) Prepare(ctx context.Context, query string) (*Stmt, error) {
	stmt, err := db.PrepareContext(ctx, query)
	if err != nil {
		return nil, err
	}
	return &Stmt{Stmt: stmt}, nil
}
func (db *DB) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error) {
	return db.ExecContext(ctx, query, args...)
}
func (db *DB) Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) {
	return db.QueryContext(ctx, query, args)
}
func (db *DB) QueryRow(ctx context.Context, query string, args ...interface{}) *sql.Row {
	return db.QueryRowContext(ctx, query, args...)
}
type Tx struct {
	*sql.Tx
}
func (tx *Tx) Prepare(ctx context.Context, query string) (*Stmt, error) {
	stmt, err := tx.Tx.PrepareContext(ctx, query)
	if err != nil {
		return nil, err
	}
	return &Stmt{Stmt: stmt}, err
}
func (tx *Tx) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error) {
	return tx.Tx.ExecContext(ctx, query, args...)
}
func (tx *Tx) Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) {
	return tx.Tx.QueryContext(ctx, query, args...)
}
func (tx *Tx) QueryRow(ctx context.Context, query string, args ...interface{}) *sql.Row {
	return tx.QueryRowContext(ctx, query, args...)
}
func (tx *Tx) Stmt(ctx context.Context, stmt *Stmt) *Stmt {
	return &Stmt{
		Stmt: tx.StmtContext(ctx, stmt.Stmt),
	}
}
type Stmt struct {
	*sql.Stmt
}