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: | Whole Thread | Raw Message | 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
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 |