Thread
-
BUG #2426: perl function that returns setof composite type
Chana Slutzkin <chana@cs.huji.ac.il> — 2006-05-09T07:52:05Z
The following bug has been logged online: Bug reference: 2426 Logged by: Chana Slutzkin Email address: chana@cs.huji.ac.il PostgreSQL version: 8.1.3 Operating system: FreeBSD 6.1 Description: perl function that returns setof composite type Details: The code below works fine on version 8.0.3. However, on version 8.1.3, the last query returns the following error: set-valued function called in context that cannot accept a set Hence there does not seem to be an way to use a perl function that returns 'setof composite' on non-constant input. ------------------------------------------------------ DROP TABLE num CASCADE; CREATE TABLE num (n int); COPY num FROM stdin; 1 2 3 \. CREATE OR REPLACE FUNCTION sqlget(num) RETURNS SETOF num AS $$ SELECT $1.n $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION perlget(num) RETURNS SETOF num AS $$ return [{n=>$_[0]->{n}}]; $$ LANGUAGE plperl; SELECT (sqlget(num.*)).* FROM num; SELECT (perlget(num.*)).* FROM num;