postgresql/contrib/postgres_fdw
Tomas Vondra cb92703384 Adjust batch size in postgres_fdw to not use too many parameters
The FE/BE protocol identifies parameters with an Int16 index, which
limits the maximum number of parameters per query to 65535. With
batching added to postges_fdw this limit is much easier to hit, as
the whole batch is essentially a single query, making this error much
easier to hit.

The failures are a bit unpredictable, because it also depends on the
number of columns in the query. So instead of just failing, this patch
tweaks the batch_size to not exceed the maximum number of parameters.

Reported-by: Hou Zhijie <houzj.fnst@cn.fujitsu.com>
Reviewed-by: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Discussion: https://postgr.es/m/OS0PR01MB571603973C0AC2874AD6BF2594299%40OS0PR01MB5716.jpnprd01.prod.outlook.com
2021-06-08 20:28:31 +02:00
..
expected Adjust batch size in postgres_fdw to not use too many parameters 2021-06-08 20:28:31 +02:00
sql Adjust batch size in postgres_fdw to not use too many parameters 2021-06-08 20:28:31 +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