xugusql_tranx.go 547 B

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