Set ecxt_scantuple correctly for tuple routing.
authorRobert Haas <rhaas@postgresql.org>
Tue, 24 Jan 2017 20:34:39 +0000 (15:34 -0500)
committerRobert Haas <rhaas@postgresql.org>
Tue, 24 Jan 2017 20:34:39 +0000 (15:34 -0500)
commit132488bfee687865375b5410f18a78fb55bd7015
tree28a64524b869e868f3f665ae29e51deadbeaa973
parent27cdb3414b3fb4c8fcc069572568390450bb04c9
Set ecxt_scantuple correctly for tuple routing.

In 2ac3ef7a01df859c62d0a02333b646d65eaec5ff, we changed things so that
it's possible for a different TupleTableSlot to be used for partitioned
tables at successively lower levels.  If we do end up changing the slot
from the original, we must update ecxt_scantuple to point to the new one
for partition key of the tuple to be computed correctly.

Reported by Rajkumar Raghuwanshi.  Patch by Amit Langote.

Discussion: http://postgr.es/m/CAKcux6%3Dm1qyqB2k6cjniuMMrYXb75O-MB4qGQMu8zg-iGGLjDw%40mail.gmail.com
src/backend/catalog/partition.c
src/backend/executor/execMain.c
src/test/regress/expected/insert.out
src/test/regress/sql/insert.sql