From c6d6367f848cfd8381aba41e035c5e7e873667c5 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <ian@gcc.gnu.org>
Date: Wed, 17 Jan 2018 14:20:29 +0000
Subject: libgo: update to Go1.10beta2 release

    Reviewed-on: https://go-review.googlesource.com/87897

From-SVN: r256794
---
 libgo/go/database/sql/driver/driver.go | 3 ++-
 libgo/go/database/sql/sql.go           | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

(limited to 'libgo/go/database')

diff --git a/libgo/go/database/sql/driver/driver.go b/libgo/go/database/sql/driver/driver.go
index 83b2b3f..19a3a4f 100644
--- a/libgo/go/database/sql/driver/driver.go
+++ b/libgo/go/database/sql/driver/driver.go
@@ -15,7 +15,8 @@ import (
 )
 
 // Value is a value that drivers must be able to handle.
-// It is either nil or an instance of one of these types:
+// It is either nil, a type handled by a database driver's NamedValueChecker
+// interface, or an instance of one of these types:
 //
 //   int64
 //   float64
diff --git a/libgo/go/database/sql/sql.go b/libgo/go/database/sql/sql.go
index 9f4fa14..8f5588e 100644
--- a/libgo/go/database/sql/sql.go
+++ b/libgo/go/database/sql/sql.go
@@ -2055,14 +2055,14 @@ func (tx *Tx) StmtContext(ctx context.Context, stmt *Stmt) *Stmt {
 		stmt.mu.Unlock()
 
 		if si == nil {
+			var ds *driverStmt
 			withLock(dc, func() {
-				var ds *driverStmt
 				ds, err = stmt.prepareOnConnLocked(ctx, dc)
-				si = ds.si
 			})
 			if err != nil {
 				return &Stmt{stickyErr: err}
 			}
+			si = ds.si
 		}
 		parentStmt = stmt
 	}
-- 
cgit v1.1