1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package xugu
- import "errors"
- type xuguTx struct {
- tconn *xuguConn
- }
- func (tx *xuguTx) Commit() error {
- tx.tconn.mu.Lock()
- defer tx.tconn.mu.Unlock()
- if tx.tconn == nil {
- return errors.New("Invalid connection")
- }
- _, err := tx.tconn.exec("commit;", nil)
- _, err = tx.tconn.exec("set auto_commit on;", nil)
- if err != nil {
- return err
- }
- return nil
- }
- func (tx *xuguTx) Rollback() error {
- tx.tconn.mu.Lock()
- defer tx.tconn.mu.Unlock()
-
- if tx.tconn == nil {
- return errors.New("Invalid connection")
- }
- _, err := tx.tconn.exec("rollback;", nil)
- if err != nil {
- return err
- }
- _, err = tx.tconn.exec("set auto_commit on;", nil)
- if err != nil {
- return err
- }
- return err
- }
|