| 246 | } |
| 247 | |
| 248 | func TestCollectOneRowIgnoresExtraRows(t *testing.T) { |
| 249 | defaultConnTestRunner.RunTest(context.Background(), t, func(ctx context.Context, t testing.TB, conn *pgx.Conn) { |
| 250 | rows, _ := conn.Query(ctx, `select n from generate_series(42, 99) n`) |
| 251 | n, err := pgx.CollectOneRow(rows, func(row pgx.CollectableRow) (int32, error) { |
| 252 | var n int32 |
| 253 | err := row.Scan(&n) |
| 254 | return n, err |
| 255 | }) |
| 256 | require.NoError(t, err) |
| 257 | |
| 258 | assert.NoError(t, err) |
| 259 | assert.Equal(t, int32(42), n) |
| 260 | }) |
| 261 | } |
| 262 | |
| 263 | // https://github.com/jackc/pgx/issues/1334 |
| 264 | func TestCollectOneRowPrefersPostgreSQLErrorOverErrNoRows(t *testing.T) { |