/
githubmirror
/
gorm
Обзор
Документация
Войти
/
githubmirror
/
gorm
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
callbacks/transaction.go
32 строки
675 B
heige
feat: go code style adjust and optimize code for callbacks package (#4861)
29 ноя 2021, 04:33
Не верифицирован
29 ноя 2021, 04:33
9d5f315
Код
Авторство
О чём код?
package callbacks import ( "gorm.io/gorm" ) func BeginTransaction(db *gorm.DB) { if !db.Config.SkipDefaultTransaction && db.Error == nil { if tx := db.Begin(); tx.Error == nil { db.Statement.ConnPool = tx.Statement.ConnPool db.InstanceSet("gorm:started_transaction", true) } else if tx.Error == gorm.ErrInvalidTransaction { tx.Error = nil } else { db.Error = tx.Error } } } func CommitOrRollbackTransaction(db *gorm.DB) { if !db.Config.SkipDefaultTransaction { if _, ok := db.InstanceGet("gorm:started_transaction"); ok { if db.Error != nil { db.Rollback() } else { db.Commit() } db.Statement.ConnPool = db.ConnPool } } }