1 Star 0 Fork 0

leminewx/worm

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
transaction.go 1.06 KB
一键复制 编辑 原始数据 按行查看 历史
leminewx 提交于 2026-03-19 23:28 +08:00 . v1.0.0.0
package session
import (
"errors"
"log"
)
var errTransactionNotStartedYet = errors.New("worm: transaction is not started yet")
var (
_DEBUG_TRANSACTION_BEGIN = "[DEBUG] [worm] [sid-%d] Begin transaction."
_DEBUG_TRANSACTION_COMMIT = "[DEBUG] [worm] [sid-%d] Commit transaction."
_DEBUG_TRANSACTION_ROLLBACK = "[DEBUG] [worm] [sid-%d] Rollback transaction."
)
// Begin 开始事务
func (own *Session) Begin() (err error) {
if own.debug {
log.Printf(_DEBUG_TRANSACTION_BEGIN, own.id)
}
own.tx, err = own.db.Begin()
return err
}
// Commit 提交事务
func (own *Session) Commit() (err error) {
if own.tx == nil {
return errTransactionNotStartedYet
}
if own.debug {
log.Printf(_DEBUG_TRANSACTION_COMMIT, own.id)
}
if err = own.tx.Commit(); err == nil {
own.tx = nil
}
return
}
// Rollback 回滚事务
func (own *Session) Rollback() (err error) {
if own.tx == nil {
return errTransactionNotStartedYet
}
if own.debug {
log.Printf(_DEBUG_TRANSACTION_ROLLBACK, own.id)
}
if err = own.tx.Rollback(); err == nil {
own.tx = nil
}
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/leminewx/worm.git
git@gitee.com:leminewx/worm.git
leminewx
worm
worm
7550b6ad9ae7

搜索帮助