aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/database/sql/convert.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2012-02-06 10:06:22 -0800
committerBrad Fitzpatrick <bradfitz@golang.org>2012-02-06 10:06:22 -0800
commit9c060b8d60f14d930e5eadd7c9968ee2ba4f4131 (patch)
tree64c82ef25c9a16460d64a64f60d835dbcff93044 /src/pkg/database/sql/convert.go
parent6392b43a1583f5ccf5a3f7c38f096e8dd5403b0d (diff)
downloadgo-9c060b8d60f14d930e5eadd7c9968ee2ba4f4131.tar.xz
database/sql: permit scanning into interface{}
See thread http://goo.gl/7zzzU for background. R=rsc CC=golang-dev https://golang.org/cl/5624051
Diffstat (limited to 'src/pkg/database/sql/convert.go')
-rw-r--r--src/pkg/database/sql/convert.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pkg/database/sql/convert.go b/src/pkg/database/sql/convert.go
index e80420e5bb..4924ac14e4 100644
--- a/src/pkg/database/sql/convert.go
+++ b/src/pkg/database/sql/convert.go
@@ -49,6 +49,11 @@ func convertAssign(dest, src interface{}) error {
case *string:
*d = string(s)
return nil
+ case *interface{}:
+ bcopy := make([]byte, len(s))
+ copy(bcopy, s)
+ *d = bcopy
+ return nil
case *[]byte:
*d = s
return nil
@@ -80,6 +85,9 @@ func convertAssign(dest, src interface{}) error {
*d = bv.(bool)
}
return err
+ case *interface{}:
+ *d = src
+ return nil
}
if scanner, ok := dest.(ScannerInto); ok {