Re: Understanding behavior of SELECT with multiple unnested columns - Mailing list pgsql-general

From Merlin Moncure
Subject Re: Understanding behavior of SELECT with multiple unnested columns
Date
Msg-id CAHyXU0w1ceGsLYZpfkr_Mt9UnK+nyiGKhUmJhRJ=0FTGP6-_pg@mail.gmail.com
Whole thread Raw
In response to Re: Understanding behavior of SELECT with multiple unnested columns  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Wed, Mar 27, 2013 at 9:03 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Gavin Flower <GavinFlower@archidevsys.co.nz> writes:
>> The rule appears to be,
>> where N_x & N_y are the number of entries returned for x & y:
>> N_result = is the smallest positive integer that has N_x & N_y as factors.
>
> Right: if there are multiple set-returning functions in a SELECT list,
> the number of rows you get is the least common multiple of their
> periods.  (See the logic in ExecTargetList that cycles the SRFs until
> they all report "done" at the same time.)  I guess there's some value
> in this for the case where they all have the same period, but otherwise
> it's kind of bizarre.  It's been like that since Berkeley days though,
> so I doubt we'll consider changing it now.  Rather, it'll just be
> quietly deprecated in favor of putting SRFs into FROM (with LATERAL
> where needed).

It's a neat way to make a query that doesn't terminate (which AFAIK is
impossible in vanilla SQL):

create sequence s;
select generate_series(1,nextval('s')), generate_series(1,nextval('s'));

merlin


pgsql-general by date:

Previous
From: Gavan Schneider
Date:
Subject: Re: Money casting too liberal?
Next
From: Gavan Schneider
Date:
Subject: Re: Money casting too liberal?