diff options
author | Daniel Theophanes <kardianos@gmail.com> | 2019-04-05 10:33:43 -0700 |
---|---|---|
committer | Daniel Theophanes <kardianos@gmail.com> | 2019-06-13 02:49:03 +0000 |
commit | 73abea300a89f0a9b801a4662e3688a5747f1859 (patch) | |
tree | 638ccf09514d3c464ad454243f6968bf618f71fe /src/database | |
parent | 0b6e3bf4ec1f52a343ab0680ca0347514e33b109 (diff) | |
download | go-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.go | 1 |
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) } |