func init() { … }
const pollDuration …
const fakeDBName …
var chrisBirthday …
func newTestDB(t testing.TB, name string) *DB { … }
func newTestDBConnector(t testing.TB, fc *fakeConnector, name string) *DB { … }
func TestOpenDB(t *testing.T) { … }
func TestDriverPanic(t *testing.T) { … }
func exec(t testing.TB, db *DB, query string, args ...any) { … }
func closeDB(t testing.TB, db *DB) { … }
func numPrepares(t *testing.T, db *DB) int { … }
func (db *DB) numDeps() int { … }
func (db *DB) numDepsPoll(t *testing.T, want int) int { … }
func (db *DB) numFreeConns() int { … }
func (db *DB) numOpenConns() int { … }
func (db *DB) clearAllConns(t *testing.T) { … }
func (db *DB) dumpDeps(t *testing.T) { … }
func (db *DB) dumpDep(t *testing.T, depth int, dep finalCloser, seen map[finalCloser]bool) { … }
func TestQuery(t *testing.T) { … }
func TestQueryContext(t *testing.T) { … }
func waitCondition(t testing.TB, fn func() bool) bool { … }
func waitForFree(t *testing.T, db *DB, want int) { … }
func waitForRowsClose(t *testing.T, rows *Rows) { … }
func TestQueryContextWait(t *testing.T) { … }
func TestTxContextWait(t *testing.T) { … }
func TestTxContextWaitNoDiscard(t *testing.T) { … }
func testContextWait(t *testing.T, keepConnOnRollback bool) { … }
func TestUnsupportedOptions(t *testing.T) { … }
func TestMultiResultSetQuery(t *testing.T) { … }
func TestQueryNamedArg(t *testing.T) { … }
func TestPoolExhaustOnCancel(t *testing.T) { … }
func TestRowsColumns(t *testing.T) { … }
func TestRowsColumnTypes(t *testing.T) { … }
func TestQueryRow(t *testing.T) { … }
func TestRowErr(t *testing.T) { … }
func TestTxRollbackCommitErr(t *testing.T) { … }
func TestStatementErrorAfterClose(t *testing.T) { … }
func TestStatementQueryRow(t *testing.T) { … }
type stubDriverStmt …
func (s stubDriverStmt) Close() error { … }
func (s stubDriverStmt) NumInput() int { … }
func (s stubDriverStmt) Exec(args []driver.Value) (driver.Result, error) { … }
func (s stubDriverStmt) Query(args []driver.Value) (driver.Rows, error) { … }
func TestStatementClose(t *testing.T) { … }
func TestStatementQueryRowConcurrent(t *testing.T) { … }
func TestBogusPreboundParameters(t *testing.T) { … }
func TestExec(t *testing.T) { … }
func TestTxPrepare(t *testing.T) { … }
func TestTxStmt(t *testing.T) { … }
func TestTxStmtPreparedOnce(t *testing.T) { … }
func TestTxStmtClosedRePrepares(t *testing.T) { … }
func TestParentStmtOutlivesTxStmt(t *testing.T) { … }
func TestTxStmtFromTxStmtRePrepares(t *testing.T) { … }
func TestTxQuery(t *testing.T) { … }
func TestTxQueryInvalid(t *testing.T) { … }
func TestTxErrBadConn(t *testing.T) { … }
func TestConnQuery(t *testing.T) { … }
func TestConnRaw(t *testing.T) { … }
func TestCursorFake(t *testing.T) { … }
func TestInvalidNilValues(t *testing.T) { … }
func TestConnTx(t *testing.T) { … }
func TestConnIsValid(t *testing.T) { … }
func TestIssue2542Deadlock(t *testing.T) { … }
func TestCloseStmtBeforeRows(t *testing.T) { … }
func TestNullByteSlice(t *testing.T) { … }
func TestPointerParamsAndScans(t *testing.T) { … }
func TestQueryRowClosingStmt(t *testing.T) { … }
var atomicRowsCloseHook …
func init() { … }
func setRowsCloseHook(fn func(*Rows, *error)) { … }
func TestIssue6651(t *testing.T) { … }
type nullTestRow …
type nullTestSpec …
func TestNullStringParam(t *testing.T) { … }
func TestGenericNullStringParam(t *testing.T) { … }
func TestNullInt64Param(t *testing.T) { … }
func TestNullInt32Param(t *testing.T) { … }
func TestNullInt16Param(t *testing.T) { … }
func TestNullByteParam(t *testing.T) { … }
func TestNullFloat64Param(t *testing.T) { … }
func TestNullBoolParam(t *testing.T) { … }
func TestNullTimeParam(t *testing.T) { … }
func nullTestRun(t *testing.T, spec nullTestSpec) { … }
func TestQueryRowNilScanDest(t *testing.T) { … }
func TestIssue4902(t *testing.T) { … }
func TestSimultaneousQueries(t *testing.T) { … }
func TestMaxIdleConns(t *testing.T) { … }
func TestMaxOpenConns(t *testing.T) { … }
func TestMaxOpenConnsOnBusy(t *testing.T) { … }
func TestPendingConnsAfterErr(t *testing.T) { … }
func TestSingleOpenConn(t *testing.T) { … }
func TestStats(t *testing.T) { … }
func TestConnMaxLifetime(t *testing.T) { … }
func TestStmtCloseDeps(t *testing.T) { … }
func TestCloseConnBeforeStmts(t *testing.T) { … }
func TestRowsCloseOrder(t *testing.T) { … }
func TestRowsImplicitClose(t *testing.T) { … }
func TestRowsCloseError(t *testing.T) { … }
func TestStmtCloseOrder(t *testing.T) { … }
func TestManyErrBadConn(t *testing.T) { … }
func TestTxCannotCommitAfterRollback(t *testing.T) { … }
func TestTxStmtDeadlock(t *testing.T) { … }
func TestConnExpiresFreshOutOfPool(t *testing.T) { … }
func TestIssue20575(t *testing.T) { … }
func TestIssue20622(t *testing.T) { … }
func TestErrBadConnReconnect(t *testing.T) { … }
func TestTxEndBadConn(t *testing.T) { … }
type concurrentTest …
type concurrentDBQueryTest …
func (c *concurrentDBQueryTest) init(t testing.TB, db *DB) { … }
func (c *concurrentDBQueryTest) finish(t testing.TB) { … }
func (c *concurrentDBQueryTest) test(t testing.TB) error { … }
type concurrentDBExecTest …
func (c *concurrentDBExecTest) init(t testing.TB, db *DB) { … }
func (c *concurrentDBExecTest) finish(t testing.TB) { … }
func (c *concurrentDBExecTest) test(t testing.TB) error { … }
type concurrentStmtQueryTest …
func (c *concurrentStmtQueryTest) init(t testing.TB, db *DB) { … }
func (c *concurrentStmtQueryTest) finish(t testing.TB) { … }
func (c *concurrentStmtQueryTest) test(t testing.TB) error { … }
type concurrentStmtExecTest …
func (c *concurrentStmtExecTest) init(t testing.TB, db *DB) { … }
func (c *concurrentStmtExecTest) finish(t testing.TB) { … }
func (c *concurrentStmtExecTest) test(t testing.TB) error { … }
type concurrentTxQueryTest …
func (c *concurrentTxQueryTest) init(t testing.TB, db *DB) { … }
func (c *concurrentTxQueryTest) finish(t testing.TB) { … }
func (c *concurrentTxQueryTest) test(t testing.TB) error { … }
type concurrentTxExecTest …
func (c *concurrentTxExecTest) init(t testing.TB, db *DB) { … }
func (c *concurrentTxExecTest) finish(t testing.TB) { … }
func (c *concurrentTxExecTest) test(t testing.TB) error { … }
type concurrentTxStmtQueryTest …
func (c *concurrentTxStmtQueryTest) init(t testing.TB, db *DB) { … }
func (c *concurrentTxStmtQueryTest) finish(t testing.TB) { … }
func (c *concurrentTxStmtQueryTest) test(t testing.TB) error { … }
type concurrentTxStmtExecTest …
func (c *concurrentTxStmtExecTest) init(t testing.TB, db *DB) { … }
func (c *concurrentTxStmtExecTest) finish(t testing.TB) { … }
func (c *concurrentTxStmtExecTest) test(t testing.TB) error { … }
type concurrentRandomTest …
func (c *concurrentRandomTest) init(t testing.TB, db *DB) { … }
func (c *concurrentRandomTest) finish(t testing.TB) { … }
func (c *concurrentRandomTest) test(t testing.TB) error { … }
func doConcurrentTest(t testing.TB, ct concurrentTest) { … }
func TestIssue6081(t *testing.T) { … }
func TestIssue18429(t *testing.T) { … }
func TestIssue20160(t *testing.T) { … }
func TestIssue18719(t *testing.T) { … }
func TestIssue20647(t *testing.T) { … }
func TestConcurrency(t *testing.T) { … }
func TestConnectionLeak(t *testing.T) { … }
func TestStatsMaxIdleClosedZero(t *testing.T) { … }
func TestStatsMaxIdleClosedTen(t *testing.T) { … }
func testUseConns(t *testing.T, count int, tm time.Time, db *DB) time.Time { … }
func TestMaxIdleTime(t *testing.T) { … }
type nvcDriver …
func (d *nvcDriver) Open(dsn string) (driver.Conn, error) { … }
type nvcConn …
type decimalInt …
type doNotInclude …
var _ …
func (c *nvcConn) CheckNamedValue(nv *driver.NamedValue) error { … }
func TestNamedValueChecker(t *testing.T) { … }
func TestNamedValueCheckerSkip(t *testing.T) { … }
func TestOpenConnector(t *testing.T) { … }
type ctxOnlyDriver …
func (d *ctxOnlyDriver) Open(dsn string) (driver.Conn, error) { … }
var _ …
var _ …
var _ …
type ctxOnlyConn …
func (c *ctxOnlyConn) Begin() (driver.Tx, error) { … }
func (c *ctxOnlyConn) Close() error { … }
func (c *ctxOnlyConn) Prepare(q string) (driver.Stmt, error) { … }
func (c *ctxOnlyConn) PrepareContext(ctx context.Context, q string) (driver.Stmt, error) { … }
func (c *ctxOnlyConn) QueryContext(ctx context.Context, q string, args []driver.NamedValue) (driver.Rows, error) { … }
func (c *ctxOnlyConn) ExecContext(ctx context.Context, q string, args []driver.NamedValue) (driver.Result, error) { … }
func TestQueryExecContextOnly(t *testing.T) { … }
type alwaysErrScanner …
var errTestScanWrap …
func (alwaysErrScanner) Scan(any) error { … }
func TestRowsScanProperlyWrapsErrors(t *testing.T) { … }
type alwaysErrValuer …
var errEmpty …
func (v alwaysErrValuer) Value() (driver.Value, error) { … }
func TestDriverArgsWrapsErrors(t *testing.T) { … }
func TestContextCancelDuringRawBytesScan(t *testing.T) { … }
func testContextCancelDuringRawBytesScan(t *testing.T, mode string) { … }
func TestContextCancelBetweenNextAndErr(t *testing.T) { … }
func TestNilErrorAfterClose(t *testing.T) { … }
func TestRawBytesReuse(t *testing.T) { … }
type badConn …
func (bc badConn) Prepare(query string) (driver.Stmt, error) { … }
func (bc badConn) Close() error { … }
func (bc badConn) Begin() (driver.Tx, error) { … }
func (bc badConn) Exec(query string, args []driver.Value) (driver.Result, error) { … }
type badDriver …
func (bd badDriver) Open(name string) (driver.Conn, error) { … }
func TestBadDriver(t *testing.T) { … }
type pingDriver …
type pingConn …
var pingError …
func (pc pingConn) Ping(ctx context.Context) error { … }
var _ …
func (pd *pingDriver) Open(name string) (driver.Conn, error) { … }
func TestPing(t *testing.T) { … }
func TestTypedString(t *testing.T) { … }
func BenchmarkConcurrentDBExec(b *testing.B) { … }
func BenchmarkConcurrentStmtQuery(b *testing.B) { … }
func BenchmarkConcurrentStmtExec(b *testing.B) { … }
func BenchmarkConcurrentTxQuery(b *testing.B) { … }
func BenchmarkConcurrentTxExec(b *testing.B) { … }
func BenchmarkConcurrentTxStmtQuery(b *testing.B) { … }
func BenchmarkConcurrentTxStmtExec(b *testing.B) { … }
func BenchmarkConcurrentRandom(b *testing.B) { … }
func BenchmarkManyConcurrentQueries(b *testing.B) { … }
func TestGrabConnAllocs(t *testing.T) { … }
func BenchmarkGrabConn(b *testing.B) { … }
func TestConnRequestSet(t *testing.T) { … }
func BenchmarkConnRequestSet(b *testing.B) { … }
func TestIssue69837(t *testing.T) { … }
type issue69728Type …
func (t issue69728Type) Value() (driver.Value, error) { … }
func TestIssue69728(t *testing.T) { … }