Re: Partitioned tables and relfilenode

From: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
To: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Partitioned tables and relfilenode
Date: 2017-03-06 07:49:37
Message-ID: CAFjFpRc-7agnhhOBtGnQYXJocF3io4uhk1SGVepNCzT5_-Y=CQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Mar 6, 2017 at 12:48 PM, Amit Langote
<Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> Thanks for the review.
>
> On 2017/03/06 15:41, Michael Paquier wrote:
>> On Fri, Mar 3, 2017 at 10:02 AM, Amit Langote
>> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>>> Thanks. I noticed that 'and' is duplicated in a line added by the commit
>>> to analyze.sgml. Attached 0001 fixes that. 0002 and 0003 same as the
>>> last version.
>>
>> /*
>> - * If all the children were temp tables, pretend it's a non-inheritance
>> - * situation. The duplicate RTE we added for the parent table is
>> - * harmless, so we don't bother to get rid of it; ditto for the useless
>> - * PlanRowMark node.
>> + * If all the children were temp tables or if the parent is a partitioned
>> + * table without any leaf partitions, pretend it's a non-inheritance
>> + * situation. The duplicate RTE for the parent table we added in the
>> + * non-partitioned table case is harmless, so we don't bother to get rid
>> + * of it; ditto for the useless PlanRowMark node.
>> */
>> - if (list_length(appinfos) < 2)
>> + if (!has_child)
>> This comment is not completely correct. Children can be temp tables,
>> they just cannot be temp tables of other backends. It seems to me that
>> you could still keep this code simple and remove has_child..
>
> I updated the comment. I recall having posted a patch for that once, but
> perhaps went unnoticed.

The existing comment only specifies "temp tables" and not "temp table
of other backends". The new comment keeps that part same and adds
partitioned table case. So, I don't see any reason to change the "temp
tables" to "temp table of other backends" in this patch.

>
> About has_child, the other option is to make the minimum length of
> appinfos list relkind-based, but the condition quickly becomes ugly. Do
> you have a suggestion?
>
+1.

--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2017-03-06 07:56:46 Re: Partitioned tables and relfilenode
Previous Message Кирилл Бороздин 2017-03-06 07:41:03 [GSoC] Self introduction and question to mentors