Re: postgres_fdw batching vs. (re)creating the tuple slots - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: postgres_fdw batching vs. (re)creating the tuple slots
Date
Msg-id f5c7b426-b112-8a72-0271-2eb21f3123ac@enterprisedb.com
Whole thread Raw
In response to Re: postgres_fdw batching vs. (re)creating the tuple slots  (Alexander Pyhalov <a.pyhalov@postgrespro.ru>)
Responses Re: postgres_fdw batching vs. (re)creating the tuple slots  (Tomas Vondra <tomas.vondra@enterprisedb.com>)
List pgsql-hackers
On 6/16/21 2:36 PM, Alexander Pyhalov wrote:
> 
> Hi.
> It seems this commit
> 
> commit b676ac443b6a83558d4701b2dd9491c0b37e17c4
> Author: Tomas Vondra <tomas.vondra@postgresql.org>
> Date:   Fri Jun 11 20:19:48 2021 +0200
> 
>      Optimize creation of slots for FDW bulk inserts
> 
> has broken batch insert for partitions with unique indexes.
> 

Thanks for the report and reproducer!

Turns out this is a mind-bogglingly silly bug I made in b676ac443b :-( 
The data is copied into the slots only in the branch that initializes 
them, so the subsequent batches just insert the same data over and over.

The attached patch fixes that, and adds a regression test (a bit smaller 
version of your reproducer). I'll get this committed shortly.

regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Improving isolationtester's data output
Next
From: Paul Guo
Date:
Subject: Re: Should wal receiver reply to wal sender more aggressively?