]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.8] database/sql: ensure releaseConn is defined before a possible...
authorDaniel Theophanes <kardianos@gmail.com>
Wed, 3 May 2017 15:57:05 +0000 (08:57 -0700)
committerChris Broadfoot <cbro@golang.org>
Tue, 23 May 2017 19:41:50 +0000 (19:41 +0000)
Applies https://golang.org/cl/42139 to the go1.8 release branch.

Also correct two minor issues detected with go vet.

Fixes #20217

Change-Id: I2c41af9497493598fbcfc140439b4e25b9bb7e72
Reviewed-on: https://go-review.googlesource.com/42532
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Chris Broadfoot <cbro@golang.org>
src/database/sql/sql.go
src/database/sql/sql_test.go

index c016681fca13c305aaea2cbfd6fc0707135c5827..f8a884446e40882a133621885c7563869089b509 100644 (file)
@@ -1955,12 +1955,12 @@ func (s *Stmt) QueryContext(ctx context.Context, args ...interface{}) (*Rows, er
                                rowsi: rowsi,
                                // releaseConn set below
                        }
-                       rows.initContextClose(ctx)
                        s.db.addDep(s, rows)
                        rows.releaseConn = func(err error) {
                                releaseConn(err)
                                s.db.removeDep(s, rows)
                        }
+                       rows.initContextClose(ctx)
                        return rows, nil
                }
 
index 450e5f1f8c961d1c0885a4bc97f3de8bcf26bd44..381aafc86b77c07e7395bcbd7d6d6c722857f8ad 100644 (file)
@@ -322,7 +322,7 @@ func TestQueryContext(t *testing.T) {
        select {
        case <-ctx.Done():
                if err := ctx.Err(); err != context.Canceled {
-                       t.Fatalf("context err = %v; want context.Canceled")
+                       t.Fatalf("context err = %v; want context.Canceled", ctx.Err())
                }
        default:
                t.Fatalf("context err = nil; want context.Canceled")
@@ -413,7 +413,8 @@ func TestTxContextWait(t *testing.T) {
        db := newTestDB(t, "people")
        defer closeDB(t, db)
 
-       ctx, _ := context.WithTimeout(context.Background(), time.Millisecond*15)
+       ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*15)
+       defer cancel()
 
        tx, err := db.BeginTx(ctx, nil)
        if err != nil {