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

Function TestPipelineQuery

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

Source from the content-addressed store, hash-verified

3366}
3367
3368func 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()

Callers

nothing calls this directly

Calls 10

ConnectFunction · 0.92
StartPipelineMethod · 0.80
SendQueryParamsMethod · 0.80
SyncMethod · 0.80
GetResultsMethod · 0.80
closeConnFunction · 0.70
ensureConnValidFunction · 0.70
LenMethod · 0.65
CloseMethod · 0.65
ReadMethod · 0.45

Tested by

no test coverage detected