From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: explain and PARAM_EXEC |
Date: | 2010-02-20 04:05:39 |
Message-ID: | 603c8f071002192005q652878acy76af233c2f020f79@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Feb 19, 2010 at 10:22 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> So I guess there are two issues here: (1) somehow I feel like we
>> should be telling the user what expression is being used to initialize
>> $0, $1, etc. when they are PARAM_EXEC parameters;
>
> Maybe, but the only reasonable place to put it would be within the
> (SubPlan N) reference, which is not a place where verboseness would be
> appreciated, I think. In principle it could look something like
>
> (SubPlan N ($0 := b.oid))
>
> but with a few parameters and a bunch of other stuff on the same line
> that would get out of hand.
I thought maybe it could do something like this:
SubPlan 1
Parameters: $0 := b.oid
-> Index Scan etc.
...but maybe that doesn't work if it can be called with different
parameters from different places? Not sure if that's possible.
>> and (2) where does
>> the output list for the sequential scan "go" when there's only one
>> table involved?
>
> The (SubPlan N) reference is meant to be understood as an expression
> element yielding the output of the subplan. One of us is confused,
> because I don't see any material difference between your examples;
> they're all calling the subplan in the same way.
I don't think it's a stretch to say that I'm the one who is confused.
I am under the (perhaps faulty) impression that when evaluating an
expression there can only ever be three tuples in score: inner, outer,
and scan. So when we go to evaluate the expression whose result will
be assigned to $0, where do we get those inner and/or outer and/or
scan tuples from? IOW, I understand where the subplan is putting its
OUTPUT, what I don't understand is what context is being used to set
its input parameters.
...Robert
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2010-02-20 04:10:49 | Re: explain and PARAM_EXEC |
Previous Message | Tom Lane | 2010-02-20 03:22:11 | Re: explain and PARAM_EXEC |