On Fri, Feb 19, 2010 at 10:22 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers