From 132488bfee687865375b5410f18a78fb55bd7015 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 24 Jan 2017 15:34:39 -0500 Subject: 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/executor/execMain.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/backend/executor/execMain.c') diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 4e8493ec141..3a5b5b21265 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -3192,9 +3192,7 @@ ExecFindPartition(ResultRelInfo *resultRelInfo, PartitionDispatch *pd, { int result; Oid failed_at; - ExprContext *econtext = GetPerTupleExprContext(estate); - econtext->ecxt_scantuple = slot; result = get_partition_for_tuple(pd, slot, estate, &failed_at); if (result < 0) { -- cgit v1.2.3