postgresql/contrib/postgres_fdw
Tomas Vondra 99cea49d65 Fix copying data into slots with FDW batching
Commit b676ac443b optimized handling of tuple slots with bulk inserts
into foreign tables, so that the slots are initialized only once and
reused for all batches. The data was however copied into the slots only
after the initialization, inserting duplicate values when the slot gets
reused. Fixed by moving the ExecCopySlot outside the init branch.

The existing postgres_fdw tests failed to catch this due to inserting
data into foreign tables without unique indexes, and then checking only
the number of inserted rows. This adds a new test with both a unique
index and a check of inserted values.

Reported-by: Alexander Pyhalov
Discussion: https://postgr.es/m/7a8cf8d56b3d18e5c0bccd6cd42d04ac%40postgrespro.ru
2021-06-16 23:49:25 +02:00
..
expected Fix copying data into slots with FDW batching 2021-06-16 23:49:25 +02:00
sql Fix copying data into slots with FDW batching 2021-06-16 23:49:25 +02:00
.gitignore Add postgres_fdw contrib module. 2013-02-21 05:27:16 -05:00
Makefile postgres_fdw: Add function to list cached connections to foreign servers. 2021-01-18 15:11:08 +09:00
connection.c Allow TRUNCATE command to truncate foreign tables. 2021-04-08 20:56:08 +09:00
deparse.c Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
option.c Allow TRUNCATE command to truncate foreign tables. 2021-04-08 20:56:08 +09:00
postgres_fdw--1.0--1.1.sql postgres_fdw: Add functions to discard cached connections. 2021-01-26 15:35:54 +09:00
postgres_fdw--1.0.sql Add postgres_fdw contrib module. 2013-02-21 05:27:16 -05:00
postgres_fdw.c Adjust batch size in postgres_fdw to not use too many parameters 2021-06-08 20:28:31 +02:00
postgres_fdw.control postgres_fdw: Add function to list cached connections to foreign servers. 2021-01-18 15:11:08 +09:00
postgres_fdw.h Don't pass "ONLY" options specified in TRUNCATE to foreign data wrapper. 2021-04-27 14:41:27 +09:00
shippable.c Replace remaining uses of "whitelist". 2021-01-05 14:00:16 +13:00