2008/10/10 Dimitri Fontaine <dfontaine@xxxxxxxxxxxx>: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, > > Le 10 oct. 08 à 21:22, Robert Haas a écrit : >> >> I can't find any legal way of calling this function. >> >> SELECT bar(f) FROM foo f; >> ERROR: set-valued function called in context that cannot accept a set >> >> SELECT * FROM foo f, bar(f); >> ERROR: function expression in FROM may not refer to other relations >> of same query level >> >> Any help appreciated. > > > You need LATERAL support for this: > SELECT * FROM foo f LATERAL bar(f); > > I'm not sure about the syntax, but LATERAL is a standard JOIN type wherein > upper "nodes" are visible. > - -- > dim > no, this strange syntax is far to any standard. Solution is using dynamic cursor ala DB2 (that isn't supported in postgres) - select * from fce(cursor(select .... from tab)) Regards Pavel Stehule > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (Darwin) > > iEYEARECAAYFAkjvvYMACgkQlBXRlnbh1blatgCgnaDoSY2RGzv224QWqA8OYEjx > fbMAoK31dHoFjOVRdomvhl/qilndRZJ5 > =3xjL > -----END PGP SIGNATURE----- > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >