Re: lateral function as a subquery - WIP patch
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Antonin Houska <antonin.houska@gmail.com>, pgsql-hackers@postgresql.org
Date: 2012-03-10T12:56:20Z
Lists: pgsql-hackers
On Sat, Mar 10, 2012 at 4:16 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > 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. True. I just meant that no join filter was implied. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company