代码拉取完成,页面将自动刷新
package sqlx
import (
"context"
"database/sql"
)
// Tx is an in-progress database transaction.
type Tx struct {
raw *sql.Tx
ctx context.Context
}
// Stmt creates a prepared statement for later queries or executions.
func (tx *Tx) Stmt(cmd string) *Stmt {
stmt := &Stmt{ctx: tx.ctx}
stmt.raw, stmt.err = tx.raw.PrepareContext(tx.ctx, cmd)
if stmt.err == nil {
names := regexpParam.FindAllString(cmd, -1)
stmt.nargs = make(map[string]any, len(names))
for _, name := range names {
stmt.nargs[name[1:]] = nil
}
}
return stmt
}
// Rollback aborts the transaction.
func (tx *Tx) Rollback() (err error) {
if tx.raw == nil {
err = sql.ErrTxDone
} else if err = tx.raw.Rollback(); err == nil {
tx.raw = nil
}
return
}
// Commit commits the transaction.
func (tx *Tx) Commit() (err error) {
if tx.raw == nil {
err = sql.ErrTxDone
} else if err = tx.raw.Commit(); err == nil {
tx.raw = nil
}
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。