github.com/hellobchain/third_party@v0.0.0-20230331131523-deb0478a2e52/go-sql-driver/mysql/transaction.go (about)

     1  // Go MySQL Driver - A MySQL-Driver for Go's database/sql package
     2  //
     3  // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved.
     4  //
     5  // This Source Code Form is subject to the terms of the Mozilla Public
     6  // License, v. 2.0. If a copy of the MPL was not distributed with this file,
     7  // You can obtain one at http://mozilla.org/MPL/2.0/.
     8  
     9  package mysql
    10  
    11  type mysqlTx struct {
    12  	mc *mysqlConn
    13  }
    14  
    15  func (tx *mysqlTx) Commit() (err error) {
    16  	if tx.mc == nil || tx.mc.closed.IsSet() {
    17  		return ErrInvalidConn
    18  	}
    19  	err = tx.mc.exec("COMMIT")
    20  	tx.mc = nil
    21  	return
    22  }
    23  
    24  func (tx *mysqlTx) Rollback() (err error) {
    25  	if tx.mc == nil || tx.mc.closed.IsSet() {
    26  		return ErrInvalidConn
    27  	}
    28  	err = tx.mc.exec("ROLLBACK")
    29  	tx.mc = nil
    30  	return
    31  }