Re: WIP patch for LATERAL subqueries
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Amit Kapila <amit.kapila@huawei.com>, pgsql-hackers@postgresql.org
Date: 2012-08-06T15:14:33Z
Lists: pgsql-hackers
On Mon, Aug 6, 2012 at 11:09 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> I think you can always simulate CROSS APPLY using LATERAL. The syntax >> is different but the functionality is the same. However, OUTER APPLY >> allows you to do something that I don't think is possible using >> LATERAL. > > Uh, what exactly? AFAICT from that blog entry, "x OUTER APPLY y" is > exactly the same as "x LEFT JOIN LATERAL y ON true". Okay, so you > saved three words, but is that a good enough reason to invent a > nonstandard syntax? I wasn't sure that x LEFT JOIN LATERAL (SELECT * FROM y) ON true is valid syntax. I thought that perhaps LATERAL() was only allowed around a top-level FROM-list item. However, if it is allowed, then I agree that the extra syntax isn't adding any functionality; it's just a question of whether you happen to like their particular choice of notational shorthand. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company