aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql/driver/driver.go
diff options
context:
space:
mode:
authorTamir Duberstein <tamird@gmail.com>2016-02-12 00:37:52 -0500
committerBrad Fitzpatrick <bradfitz@golang.org>2016-03-23 02:42:31 +0000
commit7162c4d05c1fed9db517c92b9a5232243ec453a2 (patch)
tree9aaa8102fe6c17a9d731a42fa4137defa07445a5 /src/database/sql/driver/driver.go
parentbac0005ec77994b093c51e29f630125130c99b98 (diff)
downloadgo-7162c4d05c1fed9db517c92b9a5232243ec453a2.tar.xz
database/sql/driver: remove string exclusion
The exclusion of string from IsScanValue prevents driver authors from writing their drivers in such a way that would allow users to distinguish between strings and byte arrays returned from a database. Such drivers are possible today, but require their authors to deviate from the guidance provided by the standard library. This exclusion has been in place since the birth of this package in https://github.com/golang/go/commit/357f2cb1a385f4d1418e48856f9abe0cce, but the fakedb implementation shipped in the same commit violates the exclusion! Strictly speaking this is a breaking change, but it increases the set of permissible Scan types, and should not cause breakage in practice. No test changes are necessary because fakedb already exercises this. Fixes #6497. Change-Id: I69dbd3a59d90464bcae8c852d7ec6c97bfd120f8 Reviewed-on: https://go-review.googlesource.com/19439 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/database/sql/driver/driver.go')
-rw-r--r--src/database/sql/driver/driver.go6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/database/sql/driver/driver.go b/src/database/sql/driver/driver.go
index 70c44fb921..4dba85a6d3 100644
--- a/src/database/sql/driver/driver.go
+++ b/src/database/sql/driver/driver.go
@@ -17,7 +17,7 @@ import "errors"
// float64
// bool
// []byte
-// string [*] everywhere except from Rows.Next.
+// string
// time.Time
type Value interface{}
@@ -165,10 +165,6 @@ type Rows interface {
// the provided slice. The provided slice will be the same
// size as the Columns() are wide.
//
- // The dest slice may be populated only with
- // a driver Value type, but excluding string.
- // All string values must be converted to []byte.
- //
// Next should return io.EOF when there are no more rows.
Next(dest []Value) error
}