pgsql: Fix MERGE with DO NOTHING actions into a partitioned table.

Поиск
Список
Период
Сортировка
От Dean Rasheed
Тема pgsql: Fix MERGE with DO NOTHING actions into a partitioned table.
Дата
Msg-id E1tySzO-001ZH6-1L@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix MERGE with DO NOTHING actions into a partitioned table.

ExecInitPartitionInfo() duplicates much of the logic in
ExecInitMerge(), except that it failed to handle DO NOTHING
actions. This would cause an "unknown action in MERGE WHEN clause"
error if a MERGE with any DO NOTHING actions attempted to insert into
a partition not already initialised by ExecInitModifyTable().

Bug: #18871
Reported-by: Alexander Lakhin <exclusion@gmail.com>
Author: Tender Wang <tndrwang@gmail.com>
Reviewed-by: Gurjeet Singh <gurjeet@singh.im>
Discussion: https://postgr.es/m/18871-b44e3c96de3bd2e8%40postgresql.org
Backpatch-through: 15

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8d4cd3b4a88713bb1083ebee9e6e81bd703f4c3b

Modified Files
--------------
src/backend/executor/execPartition.c   |  4 +++-
src/backend/executor/nodeModifyTable.c |  2 +-
src/test/regress/expected/merge.out    | 17 +++++++++++++++++
src/test/regress/sql/merge.sql         | 13 +++++++++++++
4 files changed, 34 insertions(+), 2 deletions(-)


В списке pgsql-committers по дате отправления: