Re: Set returning functions in the SELECT list - Mailing list pgsql-general

From Jasen Betts
Subject Re: Set returning functions in the SELECT list
Date
Msg-id k9kiii$332$1@reversiblemaps.ath.cx
Whole thread Raw
In response to Set returning functions in the SELECT list  (Ryan Kelly <rpkelly22@gmail.com>)
List pgsql-general
On 2012-11-16, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Ryan Kelly <rpkelly22@gmail.com> writes:
>> I have a question about the behavior of SRFs in the SELECT list.
>
> If you have more than one in a select list, the number of resulting rows
> is the least common multiple of their periods, because the select list
> gets cycled until they all terminate at the same time.
>
>> Also, I'm not sure where this difference in behavior is
>> documented.
>
> AFAIK it's not documented.  Every time it comes up there are arguments
> about whether to change it, and nobody has wanted to make a permanent
> commitment to this behavior by documenting it.  (On the other hand,
> since it's been like this since Berkeley days, it would be pretty hard
> to make an adequate case for changing it and likely breaking
> applications ...)
>
>> And yes, I understand doing this is deprecated and my results would
>> probably be better achieved with LATERAL when 9.3 comes out.
>
> Yeah, LATERAL has a lot less semantic messiness to it.

for now you can wrap generate_series in as many CTEs as you want and
do a join if you need a cross-product.

--
⚂⚃ 100% natural

pgsql-general by date:

Previous
From: Andreas Kretschmer
Date:
Subject: Re: Database schema
Next
From: Vincent Veyron
Date:
Subject: Re: SETOF come ritorno delle funzioni