Re: Set returning functions in the SELECT list

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ryan Kelly <rpkelly22(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Set returning functions in the SELECT list
Date: 2012-11-16 15:31:12
Message-ID: 14872.1353079872@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Vlad 2012-11-16 15:52:48 Re: High SYS CPU - need advise
Previous Message Merlin Moncure 2012-11-16 15:28:32 Re: High SYS CPU - need advise