[postgis-users] Problem using set-returning functions
Markus Schaber
schabi at logix-tt.com
Mon Mar 27 04:42:52 PST 2006
Hi, Mark,
Mark Cave-Ayland wrote:
> Yup, as you probably already know, you need to do: SELECT * FROM
> generate_x(bar) for a SRF. My guess would be that plpgsql is quite strict on
> this test, whereas the C functions probably are not.... not sure whether the
> behaviour is well defined though :(. Probably worth a question about this on
> -hackers.
There was a small thread some weeks ago on the PostgreSQL list
http://www.mail-archive.com/pgsql-sql@postgresql.org/msg20545.html
discussing just this problem.
Set returning functions are an ugly special case, for allowing things like:
navteq=# select generate_series(1,4),generate_series(5,8);
generate_series | generate_series
-----------------+-----------------
1 | 5
2 | 6
3 | 7
4 | 8
(4 rows)
This cannot be expressed in other ways using PostgreSQL. Newer SQL
standard has a feature called "adjacent tables" that provides this
semantics, but it is not implemented in PostgreSQL yet.
Markus
--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf. | Software Development GIS
Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org
More information about the postgis-users
mailing list