diff options
author | Brad Fitzpatrick <bradfitz@golang.org> | 2016-01-11 11:54:29 -0800 |
---|---|---|
committer | Brad Fitzpatrick <bradfitz@golang.org> | 2016-01-13 18:15:38 +0000 |
commit | e405c29ce74bf8145f88e4ce33b292474911ce71 (patch) | |
tree | 1400553f04aedabe9ab92cc195325374d1640217 | |
parent | 70ee525261f7d8adbcf58c2cf54efb7e7efb1c82 (diff) | |
download | go-e405c29ce74bf8145f88e4ce33b292474911ce71.tar.gz go-e405c29ce74bf8145f88e4ce33b292474911ce71.zip |
database/sql/driver: clarify DefaultParameterConverter docs
Fixes #11489
Change-Id: I887ebac2dcb772e73ee393891c487f694028aaf2
Reviewed-on: https://go-review.googlesource.com/18520
Reviewed-by: Russ Cox <rsc@golang.org>
-rw-r--r-- | src/database/sql/driver/types.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/database/sql/driver/types.go b/src/database/sql/driver/types.go index 3305354dfd..bc54784989 100644 --- a/src/database/sql/driver/types.go +++ b/src/database/sql/driver/types.go @@ -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{} |