Hello
this limit will be removed at 8.4
in older version you have to use table notation like
select * from srf()
regards
Pavel Stehule
2009/2/10 Daniel Migowski <dmigowski@ikoffice.de>:
> Hello dear PostgreSQL developers,
>
> I noticed the following strange behaviour with set-returning functions. If
> sets are allowed seems to depend on the language the function is written in,
> what makes conpletely no sense to me. See the following functions x() and
> y(). x() is written in 'sql' and works, y() is written is plpgsql and fails.
> Any reasons for this I do not realize?
>
> With best regards,
> Daniel Migowski
>
> ----------------------------
>
> CREATE FUNCTION x() RETURNS SETOF int4 AS
> $$
> SELECT 1
> UNION
> SELECT 2
> $$
> LANGUAGE 'sql';
> SELECT x(); -- fine with two result rows.
>
> CREATE FUNCTION y() RETURNS SETOF int4 AS
> $$
> BEGIN
> RETURN NEXT 1;
> RETURN NEXT 2;
> END
> $$
> LANGUAGE 'plpgsql';
> SELECT y(); -- fails with:
> FEHLER: Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der
> keine Mengenergebnisse verarbeiten kann
> SQL Status:0A000
> Kontext:PL/pgSQL function "y" line 2 at RETURN NEXT
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>