database/sql: document Stmt lifetime

This commit is contained in:
Justin Li 2019-01-23 09:55:56 -05:00 committed by GitHub
parent 1fb596143c
commit 55dba87458
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2256,6 +2256,13 @@ var (
// Stmt is a prepared statement.
// A Stmt is safe for concurrent use by multiple goroutines.
//
// If a Stmt is prepared on a Tx or Conn, it will be bound to a single
// underlying connection forever. If the Tx or Conn closes, the Stmt will
// become unusable and all operations will return an error.
// If a Stmt is prepared on a DB, it will remain usable for the lifetime of the
// DB. When the Stmt needs to execute on a new underlying connection, it will
// prepare itself on the new connection automatically.
type Stmt struct {
// Immutable:
db *DB // where we came from