From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix RETURNING to work correctly with partition tuple routing. |
Date: | 2017-01-19 18:23:16 |
Message-ID: | E1cUHMi-0006IR-CO@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix RETURNING to work correctly with partition tuple routing.
In ExecInsert(), do not switch back to the root partitioned table
ResultRelInfo until after we finish ExecProcessReturning(), so that
RETURNING projection is done using the partition's descriptor. For
the projection to work correctly, we must initialize the same for each
leaf partition during ModifyTableState initialization.
Amit Langote
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/05bd889904e03479a7169b1c36e0e1db13fff7cb
Modified Files
--------------
src/backend/catalog/partition.c | 8 ++++---
src/backend/commands/tablecmds.c | 1 +
src/backend/executor/execMain.c | 4 ++--
src/backend/executor/nodeModifyTable.c | 43 +++++++++++++++++++++++++++-------
src/include/catalog/partition.h | 3 ++-
src/test/regress/expected/insert.out | 24 ++++++++++++++++++-
src/test/regress/sql/insert.sql | 16 ++++++++++++-
7 files changed, 82 insertions(+), 17 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2017-01-19 19:01:16 | pgsql: Fix some problems in check_new_partition_bound(). |
Previous Message | Robert Haas | 2017-01-19 17:39:47 | pgsql: Fix failure to enforce partitioning contraint for internal parti |