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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user