From e75d3150793ee9bc7fc482c0c94ec102ee93f7e3 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Tue, 17 Mar 2020 19:50:23 +0100 Subject: [PATCH] bail early if preloading rows.Next() results in rows.Err() --- stdlib/sql.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stdlib/sql.go b/stdlib/sql.go index e7e4b9a0..3dd92cbd 100644 --- a/stdlib/sql.go +++ b/stdlib/sql.go @@ -304,6 +304,10 @@ func (c *Conn) QueryContext(ctx context.Context, query string, argsV []driver.Na // Preload first row because otherwise we won't know what columns are available when database/sql asks. more := rows.Next() + if err = rows.Err(); err != nil { + rows.Close() + return nil, err + } return &Rows{conn: c, rows: rows, skipNext: true, skipNextMore: more}, nil }