mirror of
https://github.com/geektutu/7days-golang.git
synced 2024-04-21 12:32:11 +00:00
32 lines
554 B
Go
32 lines
554 B
Go
package session
|
|
|
|
import "geeorm/log"
|
|
|
|
// Begin a transaction
|
|
func (s *Session) Begin() (err error) {
|
|
log.Info("transaction begin")
|
|
if s.tx, err = s.db.Begin(); err != nil {
|
|
log.Error(err)
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
// Commit a transaction
|
|
func (s *Session) Commit() (err error) {
|
|
log.Info("transaction commit")
|
|
if err = s.tx.Commit(); err != nil {
|
|
log.Error(err)
|
|
}
|
|
return
|
|
}
|
|
|
|
// Rollback a transaction
|
|
func (s *Session) Rollback() (err error) {
|
|
log.Info("transaction rollback")
|
|
if err = s.tx.Rollback(); err != nil {
|
|
log.Error(err)
|
|
}
|
|
return
|
|
}
|