Re: lateral function as a subquery - WIP patch

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Antonin Houska <antonin.houska@gmail.com>, pgsql-hackers@postgresql.org
Date: 2012-03-10T09:16:23Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Fri, Mar 9, 2012 at 8:15 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Um ... how do you get the subquery result rows to join to only the
>> correct rows of the other tables? This looks like an unconstrained join
>> to me, which is not what I believe the SQL spec for LATERAL to be, and
>> it doesn't seem especially useful either. (If a subquery could do what
>> people wanted, we'd not be hearing all the requests for LATERAL.)

> I think LATERAL is intended as more or less an unconstrained nested
> loop with the lateral expression on the inner side, parameterized by
> value from the outer side.  Typically it's a SRF.

Um ... if it's parameterized by values from a "current row" of the outer
side, then it's not an unconstrained join.  That would be like doing an
inner indexscan join and producing a cross-join result.

			regards, tom lane