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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Make some minor improvements in the regex code.
Следующее
От: Peter Geoghegan
Дата:
Сообщение: pgsql: nbtree README: move VACUUM linear scan section.