xugusql_tranx.go 539 B

123456789101112131415161718192021222324252627282930313233
  1. package xugu
  2. import "errors"
  3. type xugusqlTx struct {
  4. tconn *xugusqlConn
  5. }
  6. func (self *xugusqlTx) Commit() error {
  7. if self.tconn == nil {
  8. return errors.New("Invalid connection")
  9. }
  10. err := self.tconn.exec("commit;")
  11. if err != nil {
  12. return err
  13. }
  14. return self.tconn.exec("set auto_commit on;")
  15. }
  16. func (self *xugusqlTx) Rollback() error {
  17. if self.tconn == nil {
  18. return errors.New("Invalid connection")
  19. }
  20. err := self.tconn.exec("rollback;")
  21. if err != nil {
  22. return err
  23. }
  24. return self.tconn.exec("set auto_commit on;")
  25. }