pgsql: Fix tuple routing to initialize batching only for inserts
От | Tomas Vondra |
---|---|
Тема | pgsql: Fix tuple routing to initialize batching only for inserts |
Дата | |
Msg-id | E1lCWEb-0001KF-7O@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix tuple routing to initialize batching only for inserts A cross-partition update on a partitioned table is implemented as a delete followed by an insert. With foreign partitions, this was however causing issues, because the FDW and core may disagree on when to enable batching. postgres_fdw was only allowing batching for plain inserts (CMD_INSERT) while core was trying to batch the insert component of the cross-partition update. Fix by restricting core to apply batching only to plain CMD_INSERT queries. It's possible to allow batching for cross-partition updates, but that will require more extensive changes, so better to leave that for a separate patch. Author: Amit Langote Reviewed-by: Tomas Vondra, Takayuki Tsunakawa Discussion: https://postgr.es/m/20200628151002.7x5laxwpgvkyiu3q@development Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/927f453a941061e3d5884bab206581c34784e45b Modified Files -------------- contrib/postgres_fdw/expected/postgres_fdw.out | 23 ++++++++++++++++++++++- contrib/postgres_fdw/postgres_fdw.c | 13 +++++++++++-- contrib/postgres_fdw/sql/postgres_fdw.sql | 19 ++++++++++++++++++- src/backend/executor/execPartition.c | 3 ++- 4 files changed, 53 insertions(+), 5 deletions(-)
В списке pgsql-committers по дате отправления: