From: Daniel Theophanes Date: Fri, 5 Apr 2019 17:33:43 +0000 (-0700) Subject: database/sql/driver: document Valuer must not panic X-Git-Tag: go1.13beta1~83 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=73abea300a89f0a9b801a4662e3688a5747f1859;p=gostls13.git 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 --- 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) }