Re: Identity projection

From: Amit kapila <amit(dot)kapila(at)huawei(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "hlinnaka(at)iki(dot)fi" <hlinnaka(at)iki(dot)fi>, "'Kyotaro HORIGUCHI'" <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Identity projection
Date: 2013-02-10 05:40:44
Message-ID: 6C0B27F7206C9E4CA54AE035729E9C38420CD343@szxeml558-mbs.china.huawei.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Saturday, February 09, 2013 9:03 AM Tom Lane wrote:
Amit kapila <amit(dot)kapila(at)huawei(dot)com> writes:
>>> if (!is_projection_capable_plan(result_plan) && compare_tlist_exprs(sub_tlist, result_plan->targetlist) )

>> Sorry, the check I suggested in last mail should be as below:

>> if (!is_projection_capable_plan(result_plan) && !compare_tlist_exprs(sub_tlist, result_plan->targetlist) )

> You know, I was thinking that compare_tlist_exprs() was a pretty
> unhelpfully-chosen name for a function returning boolean, and this
> thinko pretty much proves the point. It'd be better to call it
> something like equivalent_tlists(), tlists_are_equivalent(), etc.
> (I'm not caring for the emphasis on the exprs either, because I think
> it'll also be necessary to compare resjunk fields for instance.)

The fields which cannot be compared are resname, resorigtbl, resorigcol as these gets cleared in planner.
I am not sure about fields resno and ressortgroupref, but I will check in more detail before sending patch.

With Regards,
Amit Kapila.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Fetter 2013-02-10 07:59:22 Department of Redundancy Department: makeNode(FuncCall) division
Previous Message Alvaro Herrera 2013-02-10 02:25:29 Re: Fwd: Successful post to pgsql-hackers