Thread: pgsql: Fix an oversight in cbc127917 to handle MERGE correctly

pgsql: Fix an oversight in cbc127917 to handle MERGE correctly

From
Amit Langote
Date:
Fix an oversight in cbc127917 to handle MERGE correctly

ExecInitModifyTable() forgot to trim MERGE-related lists to exclude
entries for result relations pruned during initial pruning, so fix
that.

While at it, make the function's use of the pruned resultRelations
list, rather than ModifyTable.resultRelations, more consistent.

Reported-by: Alexander Lakhin <exclusion@gmail.com> (via sqlsmith)
Reviewed-by: Junwang Zhao <zhjwpku@gmail.com>
Discussion: https://postgr.es/m/e72c94d9-e5f9-4753-9bc1-69d72bd54b8a@gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/75dfde13639a57513e23e58c961a69c5bbf017b6

Modified Files
--------------
src/backend/executor/nodeModifyTable.c        | 35 +++++++++---
src/include/nodes/execnodes.h                 |  7 ++-
src/test/regress/expected/partition_prune.out | 77 +++++++++++++++++++++++++++
src/test/regress/sql/partition_prune.sql      | 25 +++++++++
4 files changed, 134 insertions(+), 10 deletions(-)