From: | Jasen Betts <jasen(at)xnet(dot)co(dot)nz> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Set returning functions in the SELECT list |
Date: | 2012-12-04 10:16:50 |
Message-ID: | k9kiii$332$1@reversiblemaps.ath.cx |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2012-11-16, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Ryan Kelly <rpkelly22(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Vincent Veyron | 2012-12-04 13:26:14 | Re: SETOF come ritorno delle funzioni |
Previous Message | Andreas Kretschmer | 2012-12-04 09:45:56 | Re: Database schema |