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

Function TestPipelineGetResultsHandlesPartiallyReadResults

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

Source from the content-addressed store, hash-verified

3963}
3964
3965func TestPipelineGetResultsHandlesPartiallyReadResults(t *testing.T) {
3966 t.Parallel()
3967
3968 ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second)
3969 defer cancel()
3970
3971 pgConn, err := pgconn.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
3972 require.NoError(t, err)
3973 defer closeConn(t, pgConn)
3974
3975 sd, err := pgConn.Prepare(ctx, "ps", "select n from generate_series($1::int, $2::int) n", nil)
3976 require.NoError(t, err)
3977
3978 pipeline := pgConn.StartPipeline(ctx)
3979 pipeline.SendQueryStatement(sd, [][]byte{[]byte("1"), []byte("3")}, nil, nil)
3980 pipeline.SendQueryStatement(sd, [][]byte{[]byte("5"), []byte("7")}, nil, nil)
3981 err = pipeline.Sync()
3982 require.NoError(t, err)
3983
3984 results, err := pipeline.GetResults()
3985 require.NoError(t, err)
3986 rr, ok := results.(*pgconn.ResultReader)
3987 require.Truef(t, ok, "expected ResultReader, got: %#v", results)
3988 require.True(t, rr.NextRow())
3989 require.Equal(t, "1", string(rr.Values()[0]))
3990
3991 results, err = pipeline.GetResults()
3992 require.NoError(t, err)
3993 rr, ok = results.(*pgconn.ResultReader)
3994 require.Truef(t, ok, "expected ResultReader, got: %#v", results)
3995 require.True(t, rr.NextRow())
3996 require.Equal(t, "5", string(rr.Values()[0]))
3997 require.True(t, rr.NextRow())
3998 require.Equal(t, "6", string(rr.Values()[0]))
3999
4000 err = pipeline.Close()
4001 require.NoError(t, err)
4002
4003 ensureConnValid(t, pgConn)
4004}
4005
4006func TestPipelineCloseReadsUnreadResults(t *testing.T) {
4007 t.Parallel()

Callers

nothing calls this directly

Calls 11

ConnectFunction · 0.92
StartPipelineMethod · 0.80
SendQueryStatementMethod · 0.80
SyncMethod · 0.80
GetResultsMethod · 0.80
NextRowMethod · 0.80
closeConnFunction · 0.70
ensureConnValidFunction · 0.70
PrepareMethod · 0.65
ValuesMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected