Re: Tuple-routing for certain partitioned tables not working as expected

From: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Tuple-routing for certain partitioned tables not working as expected
Date: 2017-08-07 06:33:57
Message-ID: 5cd6c910-bd7b-32af-5d47-54a441624757@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017/08/07 15:22, Etsuro Fujita wrote:
> On 2017/08/07 13:11, Amit Langote wrote:> The patch looks good too.
> Although, looking at the following hunk:
>>
>> + Assert(partrel->rd_rel->relkind == RELKIND_RELATION ||
>> + partrel->rd_rel->relkind == RELKIND_FOREIGN_TABLE);
>> +
>> /*
>> * Verify result relation is a valid target for the current
>> operation.
>> */
>> ! if (partrel->rd_rel->relkind == RELKIND_RELATION)
>> ! CheckValidResultRel(partrel, CMD_INSERT);
>>
>> makes me now wonder if we need the CheckValidResultRel check at all. The
>> only check currently in place for RELKIND_RELATION is
>> CheckCmdReplicaIdentity(), which is a noop (returns true) for inserts
>> anyway.
>
> Good point! I left the verification for a plain table because that is
> harmless but as you mentioned, that is nothing but an overhead. So, here
> is a new version which removes the verification at all from
> ExecSetupPartitionTupleRouting.

The updated patch looks good to me, thanks.

Regards,
Amit

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Etsuro Fujita 2017-08-07 06:45:10 Re: Tuple-routing for certain partitioned tables not working as expected
Previous Message Ashutosh Bapat 2017-08-07 06:32:13 Re: expanding inheritance in partition bound order