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 }