On Thursday, March 14, 2013 8:35 PM Tom Lane wrote:
> I'm starting to review this patch now, and I'm having a hard time with
> this particular design decision:
> 
> Amit Kapila <amit.kap...@huawei.com> writes:
> > We cannot directly compare expressions in target list as even if
> expressions
> > are equal, below node (ex. APPEND) will
> > not do projection, and hence expr will not be evaluated.
> 
> I think this is nonsense.  Whatever the tlist of the lower node is,
> that
> is supposed to describe what it's going to return.  That node might not
> be able to do projection, but that doesn't mean that something
> underneath it didn't.  So I think this patch is missing a bet by not
> accepting equal() expressions.  Did you have a test case showing that
> this wouldn't work?

I have missed the point that lower nodes would have done the expression
evaluation during projection.
But I think before your checkin, below comment in grouping planner might be
misleading:

/* 
                                 * If the top-level plan node is one that
cannot do expression 
                                 * evaluation, we must insert a Result node
to project the 
                                 * desired tlist. 
                                 */

Now because top-level node cannot do expression evaluation, but some lower
node would have done it.
Here the need seems to be only in case when the top-level plan node tlist is
not desired tlist.
Why do we need expression evaluation inside comment?


With Regards,
Amit Kapila.



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to