assert list(stream) == recs
-@pytest.mark.parametrize("count", [1, 2])
+@pytest.mark.parametrize("count", [1, 3])
def test_results_after_execute(conn, count):
with conn.cursor() as cur:
- cur.execute(";".join(["select 1"] * count))
- assert list(cur.results()) == [cur] * count
+ cur.execute(
+ ";".join((f"select * from generate_series(1, {i})" for i in range(count)))
+ )
+ ress = list((res.fetchall() for res in cur.results()))
+ assert ress == [[(j + 1,) for j in range(i)] for i in range(count)]
-@pytest.mark.parametrize("count", [0, 1, 2])
+@pytest.mark.parametrize("count", [0, 1, 3])
@pytest.mark.parametrize("returning", [False, True])
def test_results_after_executemany(conn, count, returning):
with conn.cursor() as cur:
- cur.executemany("select 1", [()] * count, returning=returning)
- assert list(cur.results()) == [cur] * returning * count
+ cur.executemany(
+ ph(cur, "select * from generate_series(1, %s)"),
+ [(i,) for i in range(count)],
+ returning=returning,
+ )
+ ress = list((res.fetchall() for res in cur.results()))
+ if returning:
+ assert ress == [[(j + 1,) for j in range(i)] for i in range(count)]
+ else:
+ assert ress == []
assert await alist(stream) == recs
-@pytest.mark.parametrize("count", [1, 2])
+@pytest.mark.parametrize("count", [1, 3])
async def test_results_after_execute(aconn, count):
async with aconn.cursor() as cur:
- await cur.execute(";".join(["select 1"] * count))
- assert await alist(cur.results()) == [cur] * count
+ await cur.execute(
+ ";".join(f"select * from generate_series(1, {i})" for i in range(count))
+ )
+ ress = await alist(await res.fetchall() async for res in cur.results())
+ assert ress == [[(j + 1,) for j in range(i)] for i in range(count)]
-@pytest.mark.parametrize("count", [0, 1, 2])
+@pytest.mark.parametrize("count", [0, 1, 3])
@pytest.mark.parametrize("returning", [False, True])
async def test_results_after_executemany(aconn, count, returning):
async with aconn.cursor() as cur:
- await cur.executemany("select 1", [()] * count, returning=returning)
- assert await alist(cur.results()) == [cur] * returning * count
+ await cur.executemany(
+ ph(cur, "select * from generate_series(1, %s)"),
+ [(i,) for i in range(count)],
+ returning=returning,
+ )
+ ress = await alist(await res.fetchall() async for res in cur.results())
+ if returning:
+ assert ress == [[(j + 1,) for j in range(i)] for i in range(count)]
+ else:
+ assert ress == []