]> Cypherpunks repositories - gostls13.git/commitdiff
database/sql/driver: document Valuer must not panic
authorDaniel Theophanes <kardianos@gmail.com>
Fri, 5 Apr 2019 17:33:43 +0000 (10:33 -0700)
committerDaniel Theophanes <kardianos@gmail.com>
Thu, 13 Jun 2019 02:49:03 +0000 (02:49 +0000)
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>
src/database/sql/driver/types.go

index 8b3cb6c8f6115a4378fafef45ef4f759626f1f73..64b41faaa86d7a1a0394d2bc87460e8f72dedf38 100644 (file)
@@ -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)
 }