Re: lateral function as a subquery - WIP patch

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Antonin Houska <antonin(dot)houska(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: lateral function as a subquery - WIP patch
Date: 2012-03-10 01:15:58
Message-ID: 9549.1331342158@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Antonin Houska <antonin(dot)houska(at)gmail(dot)com> writes:
> For example:

> SELECT *
> FROM a, b, func(a.i, b.j) as c, d
> WHERE a.i=b.j and b.j = d.k and c>1

> may become

> SELECT *
> FROM a, b, <subquery> as c, d
> WHERE a.i=b.j and b.j = d.k and c>1

> where <subquery> is

> SELECT func(a.i, b.j)
> FROM a,b
> WHERE a.i=b.j

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.)

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shigeru Hanada 2012-03-10 01:16:03 Re: missing description initdb manual
Previous Message Tom Lane 2012-03-10 00:56:26 Re: poll: CHECK TRIGGER?