Re: [HACKERS] Add support for tuple routing to foreign partitions

Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>

From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, Stephen Frost <sfrost@snowman.net>, Maksim Milyutin <milyutinma@gmail.com>, Robert Haas <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-03-30T12:57:29Z
Lists: pgsql-hackers
(2018/03/20 21:31), Alvaro Herrera wrote:
> Amit Langote wrote:
>
>> 2. If I understand the description you provided in [1] correctly, the
>> point of having ri_PartitionIsValid and ExecInitExtraPartitionInfo() is to
>> avoid possibly-redundantly performing following two steps in
>> ExecSetupPartitionTupleRouting() for *reused* partition ResultRelInfos
>> that may not be used for tuple routing after all:
>>
>>   - create the parent_child_tupconv_maps[] entry for it
>>   - perform FDW tuple routing initialization.
>>
>> If that's true, the following comment could be expanded just a little bit
>> to make that clearer:
>>
>> /*
>>   * ExecInitPartitionExtraInfo
>>   *      Do the remaining initialization work for the given partition
>
> Yeah, I think the comments on why this is a separate step should be more
> extensive.  Probably add something to ExecInitPartitionInfo too.

Done.  Please see the reply to Amit that I sent just now.

Thank you for the review!

Best regards,
Etsuro Fujita


Commits

  1. Allow insert and update tuple routing and COPY for foreign tables.

  2. Refactor PgFdwModifyState creation/destruction into separate functions.