aboutsummaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorDaniel Theophanes <kardianos@gmail.com>2019-04-05 10:33:43 -0700
committerDaniel Theophanes <kardianos@gmail.com>2019-06-13 02:49:03 +0000
commit73abea300a89f0a9b801a4662e3688a5747f1859 (patch)
tree638ccf09514d3c464ad454243f6968bf618f71fe /src/database
parent0b6e3bf4ec1f52a343ab0680ca0347514e33b109 (diff)
downloadgo-73abea300a89f0a9b801a4662e3688a5747f1859.tar.gz
go-73abea300a89f0a9b801a4662e3688a5747f1859.zip
database/sql/driver: document Valuer must not panic
While it is possible for the connection pool to guard against panics on every valuer read, this seems like a high cost to be added, in both code complexity and possible runtime performance. Most uses of the Valuer will be trivial, like returning a struct field. Optimize for that case. If sometime may panic the valuer should itself use recover and return an error. Fixes #26332 Change-Id: Iad18780b8028f669f5a7841b74a5384d62fb6a7e Reviewed-on: https://go-review.googlesource.com/c/go/+/170700 Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/database')
-rw-r--r--src/database/sql/driver/types.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/database/sql/driver/types.go b/src/database/sql/driver/types.go
index 8b3cb6c8f6..64b41faaa8 100644
--- a/src/database/sql/driver/types.go
+++ b/src/database/sql/driver/types.go
@@ -38,6 +38,7 @@ type ValueConverter interface {
// themselves to a driver Value.
type Valuer interface {
// Value returns a driver Value.
+ // Value must not panic.
Value() (Value, error)
}