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

Function TestPipelinePrepareAndDeallocate

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

Source from the content-addressed store, hash-verified

3322}
3323
3324func TestPipelinePrepareAndDeallocate(t *testing.T) {
3325 t.Parallel()
3326
3327 ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second)
3328 defer cancel()
3329
3330 pgConn, err := pgconn.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
3331 require.NoError(t, err)
3332 defer closeConn(t, pgConn)
3333
3334 pipeline := pgConn.StartPipeline(ctx)
3335 pipeline.SendPrepare("selectInt", "select $1::bigint as a", nil)
3336 pipeline.SendDeallocate("selectInt")
3337 err = pipeline.Sync()
3338 require.NoError(t, err)
3339
3340 results, err := pipeline.GetResults()
3341 require.NoError(t, err)
3342 sd, ok := results.(*pgconn.StatementDescription)
3343 require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
3344 require.Len(t, sd.Fields, 1)
3345 require.Equal(t, "a", sd.Fields[0].Name)
3346 require.Equal(t, []uint32{pgtype.Int8OID}, sd.ParamOIDs)
3347
3348 results, err = pipeline.GetResults()
3349 require.NoError(t, err)
3350 _, ok = results.(*pgconn.CloseComplete)
3351 require.Truef(t, ok, "expected CloseComplete, got: %#v", results)
3352
3353 results, err = pipeline.GetResults()
3354 require.NoError(t, err)
3355 _, ok = results.(*pgconn.PipelineSync)
3356 require.Truef(t, ok, "expected PipelineSync, got: %#v", results)
3357
3358 results, err = pipeline.GetResults()
3359 require.NoError(t, err)
3360 require.Nil(t, results)
3361
3362 err = pipeline.Close()
3363 require.NoError(t, err)
3364
3365 ensureConnValid(t, pgConn)
3366}
3367
3368func TestPipelineQuery(t *testing.T) {
3369 t.Parallel()

Callers

nothing calls this directly

Calls 10

ConnectFunction · 0.92
StartPipelineMethod · 0.80
SendPrepareMethod · 0.80
SendDeallocateMethod · 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