aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql/sql.go
diff options
context:
space:
mode:
authorDaniel Theophanes <kardianos@gmail.com>2019-01-11 14:20:41 -0800
committerBrad Fitzpatrick <bradfitz@golang.org>2019-01-14 19:44:57 +0000
commit70931c087b7ceb660aa969382b8c273efba63426 (patch)
tree696cb4d5f7803310e293fca8261c357d1e8c396d /src/database/sql/sql.go
parent4e8aaf6b22557a485cd3af874bf5be2722b07835 (diff)
downloadgo-70931c087b7ceb660aa969382b8c273efba63426.tar.xz
database/sql: fix logic for pulling a Conn from DB
The logic for pulling a database connection from the DB pool should proceed as follows: attempt to pull either a cached connection or new connection N times in a loop. If each connection results in a bad connection, then create a new connection (no cache). Previously pulling a Conn from the pool, the last step also looked at the cache, rather then always creating a new connection. Fixes #29684 Change-Id: I8f436fd9b96eb35502a620ebe8da4ab89fb06a2e Reviewed-on: https://go-review.googlesource.com/c/157637 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/database/sql/sql.go')
-rw-r--r--src/database/sql/sql.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go
index b0353ab4dc..38a173adba 100644
--- a/src/database/sql/sql.go
+++ b/src/database/sql/sql.go
@@ -1698,7 +1698,7 @@ func (db *DB) Conn(ctx context.Context) (*Conn, error) {
}
}
if err == driver.ErrBadConn {
- dc, err = db.conn(ctx, cachedOrNewConn)
+ dc, err = db.conn(ctx, alwaysNewConn)
}
if err != nil {
return nil, err