(t *testing.T)
| 3322 | } |
| 3323 | |
| 3324 | func 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 | |
| 3368 | func TestPipelineQuery(t *testing.T) { |
| 3369 | t.Parallel() |
nothing calls this directly
no test coverage detected