The following bug has been logged online: Bug reference: 2426 Logged by: Chana Slutzkin Email address: [EMAIL PROTECTED] 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; ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org