MCPcopy
hub / github.com/jackc/pgx / TestConnMultiplePrepareAndDeallocate

Function TestConnMultiplePrepareAndDeallocate

stdlib/sql_test.go:802–826  ·  view source on GitHub ↗

https://github.com/jackc/pgx/issues/1753#issuecomment-1746033281 https://github.com/jackc/pgx/issues/1754#issuecomment-1752004634

(t *testing.T)

Source from the content-addressed store, hash-verified

800// https://github.com/jackc/pgx/issues/1753#issuecomment-1746033281
801// https://github.com/jackc/pgx/issues/1754#issuecomment-1752004634
802func TestConnMultiplePrepareAndDeallocate(t *testing.T) {
803 testWithAllQueryExecModes(t, func(t *testing.T, db *sql.DB) {
804 skipCockroachDB(t, db, "Server does not support pg_prepared_statements")
805
806 sql := "select 42"
807 stmt1, err := db.PrepareContext(context.Background(), sql)
808 require.NoError(t, err)
809 stmt2, err := db.PrepareContext(context.Background(), sql)
810 require.NoError(t, err)
811 err = stmt1.Close()
812 require.NoError(t, err)
813
814 var preparedStmtCount int64
815 err = db.QueryRowContext(context.Background(), "select count(*) from pg_prepared_statements where statement = $1", sql).Scan(&preparedStmtCount)
816 require.NoError(t, err)
817 require.EqualValues(t, 1, preparedStmtCount)
818
819 err = stmt2.Close() // err isn't as useful as it should be as database/sql will ignore errors from Deallocate.
820 require.NoError(t, err)
821
822 err = db.QueryRowContext(context.Background(), "select count(*) from pg_prepared_statements where statement = $1", sql).Scan(&preparedStmtCount)
823 require.NoError(t, err)
824 require.EqualValues(t, 0, preparedStmtCount)
825 })
826}
827
828func TestConnExecContextSuccess(t *testing.T) {
829 testWithAllQueryExecModes(t, func(t *testing.T, db *sql.DB) {

Callers

nothing calls this directly

Calls 5

PrepareContextMethod · 0.80
skipCockroachDBFunction · 0.70
CloseMethod · 0.65
ScanMethod · 0.65

Tested by

no test coverage detected