1
0
mirror of https://github.com/postgres/postgres.git synced 2025-12-12 02:37:31 +03:00

Add a regression test case for plpython function returning setof RECORD.

We had coverage for functions returning setof a named composite type,
but not for anonymous records, which is a somewhat different code path.
In view of recent crash report from Sergey Konoplev, this seems worth
testing, though I doubt there's any deterministic bug here today.
This commit is contained in:
Tom Lane
2013-12-11 17:22:47 -05:00
parent cf589c9c1f
commit 6bff0e7d92
2 changed files with 46 additions and 5 deletions

View File

@@ -64,9 +64,7 @@ SELECT test_setof_as_iterator(2, null);
SELECT test_setof_spi_in_iterator();
-- setof function with an SPI result set (used to crash because of
-- memory management issues across multiple calls)
-- returns set of named-composite-type tuples
CREATE OR REPLACE FUNCTION get_user_records()
RETURNS SETOF users
AS $$
@@ -74,3 +72,14 @@ AS $$
$$ LANGUAGE plpythonu;
SELECT get_user_records();
SELECT * FROM get_user_records();
-- same, but returning set of RECORD
CREATE OR REPLACE FUNCTION get_user_records2()
RETURNS TABLE(fname text, lname text, username text, userid int)
AS $$
return plpy.execute("SELECT * FROM users ORDER BY username")
$$ LANGUAGE plpythonu;
SELECT get_user_records2();
SELECT * FROM get_user_records2();