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

Function TestPipelinePrepareError

pgconn/pgconn_test.go:3279–3322  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

3277}
3278
3279func TestPipelinePrepareError(t *testing.T) {
3280 t.Parallel()
3281
3282 ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second)
3283 defer cancel()
3284
3285 pgConn, err := pgconn.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
3286 require.NoError(t, err)
3287 defer closeConn(t, pgConn)
3288
3289 pipeline := pgConn.StartPipeline(ctx)
3290 pipeline.SendPrepare("selectInt", "select $1::bigint as a", nil)
3291 pipeline.SendPrepare("selectError", "bad", nil)
3292 pipeline.SendPrepare("selectText", "select $1::text as b", nil)
3293 err = pipeline.Sync()
3294 require.NoError(t, err)
3295
3296 results, err := pipeline.GetResults()
3297 require.NoError(t, err)
3298 sd, ok := results.(*pgconn.StatementDescription)
3299 require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
3300 require.Len(t, sd.Fields, 1)
3301 require.Equal(t, "a", sd.Fields[0].Name)
3302 require.Equal(t, []uint32{pgtype.Int8OID}, sd.ParamOIDs)
3303
3304 results, err = pipeline.GetResults()
3305 var pgErr *pgconn.PgError
3306 require.ErrorAs(t, err, &pgErr)
3307 require.Nil(t, results)
3308
3309 results, err = pipeline.GetResults()
3310 require.NoError(t, err)
3311 _, ok = results.(*pgconn.PipelineSync)
3312 require.Truef(t, ok, "expected PipelineSync, got: %#v", results)
3313
3314 results, err = pipeline.GetResults()
3315 require.NoError(t, err)
3316 require.Nil(t, results)
3317
3318 err = pipeline.Close()
3319 require.NoError(t, err)
3320
3321 ensureConnValid(t, pgConn)
3322}
3323
3324func TestPipelinePrepareAndDeallocate(t *testing.T) {
3325 t.Parallel()

Callers

nothing calls this directly

Calls 9

ConnectFunction · 0.92
StartPipelineMethod · 0.80
SendPrepareMethod · 0.80
SyncMethod · 0.80
GetResultsMethod · 0.80
closeConnFunction · 0.70
ensureConnValidFunction · 0.70
LenMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected