(t *testing.T)
| 3724 | } |
| 3725 | |
| 3726 | func TestPipelineFlushForRequestSeries(t *testing.T) { |
| 3727 | t.Parallel() |
| 3728 | |
| 3729 | ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second) |
| 3730 | defer cancel() |
| 3731 | |
| 3732 | pgConn, err := pgconn.Connect(ctx, os.Getenv("PGX_TEST_DATABASE")) |
| 3733 | require.NoError(t, err) |
| 3734 | defer closeConn(t, pgConn) |
| 3735 | |
| 3736 | pipeline := pgConn.StartPipeline(ctx) |
| 3737 | pipeline.SendPrepare("ps", "select $1::bigint as num", nil) |
| 3738 | err = pipeline.Sync() |
| 3739 | require.NoError(t, err) |
| 3740 | |
| 3741 | results, err := pipeline.GetResults() |
| 3742 | require.NoError(t, err) |
| 3743 | sd, ok := results.(*pgconn.StatementDescription) |
| 3744 | require.Truef(t, ok, "expected StatementDescription, got: %#v", results) |
| 3745 | require.Len(t, sd.Fields, 1) |
| 3746 | require.Equal(t, "num", sd.Fields[0].Name) |
| 3747 | require.Equal(t, []uint32{pgtype.Int8OID}, sd.ParamOIDs) |
| 3748 | |
| 3749 | results, err = pipeline.GetResults() |
| 3750 | require.NoError(t, err) |
| 3751 | _, ok = results.(*pgconn.PipelineSync) |
| 3752 | require.Truef(t, ok, "expected PipelineSync, got: %#v", results) |
| 3753 | |
| 3754 | pipeline.SendQueryPrepared(`ps`, [][]byte{[]byte("1")}, nil, nil) |
| 3755 | pipeline.SendQueryPrepared(`ps`, [][]byte{[]byte("2")}, nil, nil) |
| 3756 | pipeline.SendFlushRequest() |
| 3757 | err = pipeline.Flush() |
| 3758 | require.NoError(t, err) |
| 3759 | |
| 3760 | results, err = pipeline.GetResults() |
| 3761 | require.NoError(t, err) |
| 3762 | rr, ok := results.(*pgconn.ResultReader) |
| 3763 | require.Truef(t, ok, "expected ResultReader, got: %#v", results) |
| 3764 | readResult := rr.Read() |
| 3765 | require.NoError(t, readResult.Err) |
| 3766 | require.Len(t, readResult.Rows, 1) |
| 3767 | require.Len(t, readResult.Rows[0], 1) |
| 3768 | require.Equal(t, "1", string(readResult.Rows[0][0])) |
| 3769 | |
| 3770 | results, err = pipeline.GetResults() |
| 3771 | require.NoError(t, err) |
| 3772 | rr, ok = results.(*pgconn.ResultReader) |
| 3773 | require.Truef(t, ok, "expected ResultReader, got: %#v", results) |
| 3774 | readResult = rr.Read() |
| 3775 | require.NoError(t, readResult.Err) |
| 3776 | require.Len(t, readResult.Rows, 1) |
| 3777 | require.Len(t, readResult.Rows[0], 1) |
| 3778 | require.Equal(t, "2", string(readResult.Rows[0][0])) |
| 3779 | |
| 3780 | results, err = pipeline.GetResults() |
| 3781 | require.NoError(t, err) |
| 3782 | require.Nil(t, results) |
| 3783 |
nothing calls this directly
no test coverage detected