]> Cypherpunks repositories - gostls13.git/commitdiff
database/sql/driver: clarify DefaultParameterConverter docs
authorBrad Fitzpatrick <bradfitz@golang.org>
Mon, 11 Jan 2016 19:54:29 +0000 (11:54 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 13 Jan 2016 18:15:38 +0000 (18:15 +0000)
Fixes #11489

Change-Id: I887ebac2dcb772e73ee393891c487f694028aaf2
Reviewed-on: https://go-review.googlesource.com/18520
Reviewed-by: Russ Cox <rsc@golang.org>
src/database/sql/driver/types.go

index 3305354dfd0d66183d96545bbae100d8c3d52450..bc547849897be063b15fdce16175e93f1d3672dc 100644 (file)
@@ -200,10 +200,15 @@ func IsScanValue(v interface{}) bool {
 // ValueConverter that's used when a Stmt doesn't implement
 // ColumnConverter.
 //
-// DefaultParameterConverter returns the given value directly if
-// IsValue(value).  Otherwise integer type are converted to
-// int64, floats to float64, and strings to []byte.  Other types are
-// an error.
+// DefaultParameterConverter returns its argument directly if
+// IsValue(arg). Otherwise, if the argument implements Valuer, its
+// Value method is used to return a Value. As a fallback, the provided
+// argument's underlying type is used to convert it to a Value:
+// underlying integer types are converted to int64, floats to float64,
+// and strings to []byte. If the argument is a nil pointer,
+// ConvertValue returns a nil Value. If the argument is a non-nil
+// pointer, it is dereferenced and ConvertValue is called
+// recursively. Other types are an error.
 var DefaultParameterConverter defaultConverter
 
 type defaultConverter struct{}