From: Ian Lance Taylor Date: Wed, 16 Nov 2016 01:14:13 +0000 (-0800) Subject: database/sql: clarify when statement in transaction is closed X-Git-Tag: go1.8beta1~142 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b75b9e1d65989753d0ee14ccc6007729e49e2e51;p=gostls13.git database/sql: clarify when statement in transaction is closed Fixes #16346. Change-Id: Ie75a4ae7011036dd2c1f121a7a5e38d10177721e Reviewed-on: https://go-review.googlesource.com/33296 Reviewed-by: Daniel Theophanes Reviewed-by: Brad Fitzpatrick --- diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go index 43227e92ea..d3803e85c3 100644 --- a/src/database/sql/sql.go +++ b/src/database/sql/sql.go @@ -1436,8 +1436,8 @@ func (tx *Tx) Rollback() error { // Prepare creates a prepared statement for use within a transaction. // -// The returned statement operates within the transaction and can no longer -// be used once the transaction has been committed or rolled back. +// The returned statement operates within the transaction and will be closed +// when the transaction has been committed or rolled back. // // To use an existing prepared statement on this transaction, see Tx.Stmt. // @@ -1506,8 +1506,8 @@ func (tx *Tx) Prepare(query string) (*Stmt, error) { // ... // res, err := tx.StmtContext(ctx, updateMoney).Exec(123.45, 98293203) // -// The returned statement operates within the transaction and can no longer -// be used once the transaction has been committed or rolled back. +// The returned statement operates within the transaction and will be closed +// when the transaction has been committed or rolled back. func (tx *Tx) StmtContext(ctx context.Context, stmt *Stmt) *Stmt { // TODO(bradfitz): optimize this. Currently this re-prepares // each time. This is fine for now to illustrate the API but @@ -1551,8 +1551,8 @@ func (tx *Tx) StmtContext(ctx context.Context, stmt *Stmt) *Stmt { // ... // res, err := tx.Stmt(updateMoney).Exec(123.45, 98293203) // -// The returned statement operates within the transaction and can no longer -// be used once the transaction has been committed or rolled back. +// The returned statement operates within the transaction and will be closed +// when the transaction has been committed or rolled back. func (tx *Tx) Stmt(stmt *Stmt) *Stmt { return tx.StmtContext(context.Background(), stmt) }