var errNilPtr … func describeNamedValue(nv *driver.NamedValue) string { … } func validateNamedValueName(name string) error { … } type ccChecker … func (c ccChecker) CheckNamedValue(nv *driver.NamedValue) error { … } // defaultCheckNamedValue wraps the default ColumnConverter to have the same // function signature as the CheckNamedValue in the driver.NamedValueChecker // interface. func defaultCheckNamedValue(nv *driver.NamedValue) (err error) { … } // driverArgsConnLocked converts arguments from callers of Stmt.Exec and // Stmt.Query into driver Values. // // The statement ds may be nil, if no statement is available. // // ci must be locked. func driverArgsConnLocked(ci driver.Conn, ds *driverStmt, args []any) ([]driver.NamedValue, error) { … } // convertAssign is the same as convertAssignRows, but without the optional // rows argument. // // convertAssign should be an internal detail, // but widely used packages access it using linkname. // Notable members of the hall of shame include: // - ariga.io/entcache // // Do not remove or change the type signature. // See go.dev/issue/67401. // //go:linkname convertAssign func convertAssign(dest, src any) error { … } // convertAssignRows copies to dest the value in src, converting it if possible. // An error is returned if the copy would result in loss of information. // dest should be a pointer type. If rows is passed in, the rows will // be used as the parent for any cursor values converted from a // driver.Rows to a *Rows. func convertAssignRows(dest, src any, rows *Rows) error { … } func strconvErr(err error) error { … } func asString(src any) string { … } func asBytes(buf []byte, rv reflect.Value) (b []byte, ok bool) { … } var valuerReflectType … // callValuerValue returns vr.Value(), with one exception: // If vr.Value is an auto-generated method on a pointer type and the // pointer is nil, it would panic at runtime in the panicwrap // method. Treat it like nil instead. // Issue 8415. // // This is so people can implement driver.Value on value types and // still use nil pointers to those types to mean nil/NULL, just like // string/*string. // // This function is mirrored in the database/sql/driver package. func callValuerValue(vr driver.Valuer) (v driver.Value, err error) { … } type decimal … type decimalDecompose … type decimalCompose …