(t *testing.T)
| 3366 | } |
| 3367 | |
| 3368 | func TestPipelineQuery(t *testing.T) { |
| 3369 | t.Parallel() |
| 3370 | |
| 3371 | ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second) |
| 3372 | defer cancel() |
| 3373 | |
| 3374 | pgConn, err := pgconn.Connect(ctx, os.Getenv("PGX_TEST_DATABASE")) |
| 3375 | require.NoError(t, err) |
| 3376 | defer closeConn(t, pgConn) |
| 3377 | |
| 3378 | pipeline := pgConn.StartPipeline(ctx) |
| 3379 | pipeline.SendQueryParams(`select 1`, nil, nil, nil, nil) |
| 3380 | pipeline.SendQueryParams(`select 2`, nil, nil, nil, nil) |
| 3381 | pipeline.SendQueryParams(`select 3`, nil, nil, nil, nil) |
| 3382 | err = pipeline.Sync() |
| 3383 | require.NoError(t, err) |
| 3384 | |
| 3385 | pipeline.SendQueryParams(`select 4`, nil, nil, nil, nil) |
| 3386 | pipeline.SendQueryParams(`select 5`, nil, nil, nil, nil) |
| 3387 | err = pipeline.Sync() |
| 3388 | require.NoError(t, err) |
| 3389 | |
| 3390 | results, err := pipeline.GetResults() |
| 3391 | require.NoError(t, err) |
| 3392 | rr, ok := results.(*pgconn.ResultReader) |
| 3393 | require.Truef(t, ok, "expected ResultReader, got: %#v", results) |
| 3394 | readResult := rr.Read() |
| 3395 | require.NoError(t, readResult.Err) |
| 3396 | require.Len(t, readResult.Rows, 1) |
| 3397 | require.Len(t, readResult.Rows[0], 1) |
| 3398 | require.Equal(t, "1", string(readResult.Rows[0][0])) |
| 3399 | |
| 3400 | results, err = pipeline.GetResults() |
| 3401 | require.NoError(t, err) |
| 3402 | rr, ok = results.(*pgconn.ResultReader) |
| 3403 | require.Truef(t, ok, "expected ResultReader, got: %#v", results) |
| 3404 | readResult = rr.Read() |
| 3405 | require.NoError(t, readResult.Err) |
| 3406 | require.Len(t, readResult.Rows, 1) |
| 3407 | require.Len(t, readResult.Rows[0], 1) |
| 3408 | require.Equal(t, "2", string(readResult.Rows[0][0])) |
| 3409 | |
| 3410 | results, err = pipeline.GetResults() |
| 3411 | require.NoError(t, err) |
| 3412 | rr, ok = results.(*pgconn.ResultReader) |
| 3413 | require.Truef(t, ok, "expected ResultReader, got: %#v", results) |
| 3414 | readResult = rr.Read() |
| 3415 | require.NoError(t, readResult.Err) |
| 3416 | require.Len(t, readResult.Rows, 1) |
| 3417 | require.Len(t, readResult.Rows[0], 1) |
| 3418 | require.Equal(t, "3", string(readResult.Rows[0][0])) |
| 3419 | |
| 3420 | results, err = pipeline.GetResults() |
| 3421 | require.NoError(t, err) |
| 3422 | _, ok = results.(*pgconn.PipelineSync) |
| 3423 | require.Truef(t, ok, "expected PipelineSync, got: %#v", results) |
| 3424 | |
| 3425 | results, err = pipeline.GetResults() |
nothing calls this directly
no test coverage detected