Re: Useless code in ExecInitModifyTable

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
Cc: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Useless code in ExecInitModifyTable
Date: 2017-06-21 14:33:04
Message-ID: 30453.1498055584@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> writes:
> On 2017/06/21 16:59, Etsuro Fujita wrote:
>> but I noticed that that function doesn't use the relation descriptor at
>> all. Since partitioned_rels is given in case of an UPDATE/DELETE on a
>> partitioned table, the relation is opened in that case, but the relation
>> descriptor isn't referenced at all in initializing WITH CHECK OPTION
>> constraints and/or RETURNING projections. (The mtstate->resultRelinfo
>> array is referenced in those initialization, instead.) So, I'd like to
>> propose to remove this from that function. Attached is a patch for that.

> Thanks for cleaning that up. I cannot see any problem in applying the patch.

Actually, isn't ModifyTable.partitioned_rels *always* NIL? I can't
see anyplace in the planner that sets it differently. I think we should
flush the field altogether. Anybody who doesn't want that should at least
provide the missing comment for create_modifytable_path's partitioned_rels
argument (and yes, the fact that that is missing isn't making me any
more favorably disposed...)

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2017-06-21 14:34:46 Re: pg_bsd_indent 2.0 is available from git.postgresql.org
Previous Message Yugo Nagata 2017-06-21 14:30:48 Re: Optional message to user when terminating/cancelling backend