From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>, David Fetter <david(at)fetter(dot)org>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: LATERAL |
Date: | 2009-12-19 21:38:37 |
Message-ID: | 603c8f070912191338u15a6a556p1151d0a79ac22833@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, Dec 19, 2009 at 3:01 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> Incidentally, the reason why the executor chokes trying to execute a
>> SRF with an outer reference is because ExecEvalVar() craps out trying
>> to dereference a null TupleTableSlot. If I'm understanding this
>> correctly, that, in turn, happens because the variable that we're
>> trying to deference is marked as neither INNER nor OUTER, so it's
>> assumed to be from a scan, but there's no scan node. Going even
>> further from my area of actually understanding what's going on, I
>> think this needs to be fixed by adjusting setrefs.c.
>
> Well, no: we can't handle such references as OUTER vars because the
> OUTER slot is likely to be in use already in the sub-join. It would be
> even messier if you wanted several references to different outer
> relations.
Oh. Yeah.
> I believe the correct approach is probably to treat values that need to
> be propagated into the inner side as executor parameters. This could
> replace the existing, rather crocky, management of values passed into a
> nestloop inner indexscan. The mechanisms that deal with forcing rescans
> of subplans affected by a changed parameter value would be very helpful
> here too.
What is the best place to look for the existing, rather crocky code?
I have to admit that the whole mechanism by which paths get
transformed into plans and handed off to the executor is still rather
opaque to me.
...Robert
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-12-19 21:46:29 | Re: LATERAL |
Previous Message | A. Kretschmer | 2009-12-19 21:30:42 | Re: creating index names automatically? |