mirror of
https://github.com/golang/go
synced 2024-11-18 18:14:43 -07:00
database/sql/driver: enhance driver package documentation
Change-Id: I455acdb71354f14e0bc4104cbd7abd5c89958dd9 Reviewed-on: https://go-review.googlesource.com/c/go/+/230214 Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
This commit is contained in:
parent
a3374fa0f8
commit
1518123114
@ -6,6 +6,35 @@
|
|||||||
// drivers as used by package sql.
|
// drivers as used by package sql.
|
||||||
//
|
//
|
||||||
// Most code should use package sql.
|
// Most code should use package sql.
|
||||||
|
//
|
||||||
|
// The driver interface has evolved over time. Drivers should implement
|
||||||
|
// Connector and DriverContext interfaces.
|
||||||
|
// The Connector.Connect and Driver.Open methods should never return ErrBadConn.
|
||||||
|
// ErrBadConn should only be returned from Validator, SessionResetter, or
|
||||||
|
// a query method if the connection is already in an invalid (e.g. closed) state.
|
||||||
|
//
|
||||||
|
// All Conn implementations should implement the following interfaces:
|
||||||
|
// Pinger, SessionResetter, and Validator.
|
||||||
|
//
|
||||||
|
// If named parameters or context are supported, the driver's Conn should implement:
|
||||||
|
// ExecerContext, QueryerContext, ConnPrepareContext, and ConnBeginTx.
|
||||||
|
//
|
||||||
|
// To support custom data types, implement NamedValueChecker. NamedValueChecker
|
||||||
|
// also allows queries to accept per-query options as a parameter by returning
|
||||||
|
// ErrRemoveArgument from CheckNamedValue.
|
||||||
|
//
|
||||||
|
// If multiple result sets are supported, Rows should implement RowsNextResultSet.
|
||||||
|
// If the driver knows how to describe the types present in the returned result
|
||||||
|
// it should implement the following interfaces: RowsColumnTypeScanType,
|
||||||
|
// RowsColumnTypeDatabaseTypeName, RowsColumnTypeLength, RowsColumnTypeNullable,
|
||||||
|
// and RowsColumnTypePrecisionScale. A given row value may also return a Rows
|
||||||
|
// type, which may represent a database cursor value.
|
||||||
|
//
|
||||||
|
// Before a connection is returned to the connection pool after use, IsValid is
|
||||||
|
// called if implemented. Before a connection is reused for another query,
|
||||||
|
// ResetSession is called if implemented. If a connection is never returned to the
|
||||||
|
// connection pool but immediately reused, then ResetSession is called prior to
|
||||||
|
// reuse but IsValid is not called.
|
||||||
package driver
|
package driver
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
Loading…
Reference in New Issue
Block a user