Re: pgsql: Allow insert and update tuple routing and COPY forforeign table - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: Allow insert and update tuple routing and COPY forforeign table
Date
Msg-id 20190422202703.4mgtqv3mqtamsgel@alap3.anarazel.de
Whole thread Raw
In response to Re: pgsql: Allow insert and update tuple routing and COPY forforeign table  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: pgsql: Allow insert and update tuple routing and COPY forforeign table  (Laurenz Albe <laurenz.albe@cybertec.at>)
Re: pgsql: Allow insert and update tuple routing and COPY forforeign table  (Laurenz Albe <laurenz.albe@cybertec.at>)
List pgsql-committers
Hi,

On 2019-04-22 21:37:25 +0200, Laurenz Albe wrote:
> Subject: [PATCH] Foreign table COPY FROM and tuple routing requires
>  BeginForeignInsert
> 
> Commit 3d956d956a introduced support for foreign tables as partitions
> and COPY FROM on foreign tables.
> 
> If a foreign data wrapper supports data modifications, but either has
> not adapted to this change yet or doesn't want to support it
> for other reasons, it probably got broken by the above commit,
> because COPY will just call ExecForeignInsert anyway, which might not
> work because neither PlanForeignModify nor BeginForeignModify have
> been called.
> 
> To avoid breaking third-party foreign data wrappers in that way, allow
> COPY FROM and tuple routing for foreign tables only if the foreign data
> wrapper implements BeginForeignInsert.

Isn't this worse though? Before this it's an API change between major
versions. With this it's an API change in a *minor* version. Sure, it's
one that doesn't crash, but it's still a pretty substantial function
regression, no?

Greetings,

Andres Freund



pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: Re: pgsql: Allow insert and update tuple routing and COPY for foreign table
Next
From: Laurenz Albe
Date:
Subject: Re: pgsql: Allow insert and update tuple routing and COPY forforeign table