Set ecxt_scantuple correctly for tuple routing.
Robert Haas <rhaas@postgresql.org>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/catalog/partition.c | modified | +23 −7 |
| src/backend/executor/execMain.c | modified | +0 −2 |
| src/test/regress/expected/insert.out | modified | +1 −1 |
| src/test/regress/sql/insert.sql | modified | +1 −1 |
Discussion
- Declarative partitioning - another take 323 messages · 2016-08-10 → 2017-06-29