Re: pgsql: Allow insert and update tuple routing and COPY for foreign table

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

From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Laurenz Albe <laurenz.albe@cybertec.at>, Robert Haas <rhaas@postgresql.org>, pgsql-committers@lists.postgresql.org, pgsql-hackers@lists.postgresql.org
Date: 2019-04-26T04:58:15Z
Lists: pgsql-hackers
Amit-san,

(2019/04/26 13:20), Amit Langote wrote:
> On 2019/04/25 22:17, Etsuro Fujita wrote:
>> (2019/04/24 22:04), Laurenz Albe wrote:
>>>     Before PostgreSQL v11, a foreign data wrapper could be certain that
>>>     BeginForeignModify is always called before ExecForeignInsert.
>>>     This is no longer true.
>>
>> OK, how about something like the attached?  I reworded this a bit, though.
>
> Thanks for the patch.
>
> +     Note that this function is also called when inserting routed tuples into
> +     a foreign-table partition or executing<command>COPY FROM</command>  on
> +     a foreign table, in which case it is called in a different way than it
> +     is in the<command>INSERT</command>  case.
>
> Maybe minor, but should the last part of this sentence read as:
>
> ...in which case it is called in a different way than it is in the case
> <command>INSERT</command>  is operating directly on the foreign table.
>
> ?

Yeah, but I think it would be OK to just say "the INSERT case" because 
this note is added to the docs for ExecForeignInsert(), which allows the 
FDW to directly insert into foreign tables as you know, so users will 
read "the INSERT case" as "the case <command>INSERT</command> is 
operating directly on the foreign table".

Thanks for the comment!

Best regards,
Etsuro Fujita




Commits

  1. Add FDW documentation notes about insert and update tuple routing and COPY.

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