Re: WIP patch for LATERAL subqueries

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Amit Kapila <amit(dot)kapila(at)huawei(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: WIP patch for LATERAL subqueries
Date: 2012-08-06 15:14:33
Message-ID: CA+TgmoawmtEYJ_BpH-DfNStjyJ+i=pkEaTQdHf6LMDX4RGAumQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Aug 6, 2012 at 11:09 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2012-08-06 15:18:45 Re: tzdata2012d
Previous Message Robert Haas 2012-08-06 15:10:26 Re: WIP Patch: Use sortedness of CSV foreign tables for query planning