diff options
author | Robert Haas <rhaas@postgresql.org> | 2017-07-17 21:29:45 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2017-07-17 21:29:45 -0400 |
commit | f81a91db4d1c2032632aa5df9fc14be24f5fe5ec (patch) | |
tree | 01ec760e37fcdc12db679add15f95e24f0d055dc /src/backend/executor | |
parent | 533463307bf67e1bb7acc345ba7ea535c6aebb78 (diff) | |
download | postgresql-f81a91db4d1c2032632aa5df9fc14be24f5fe5ec.tar.gz postgresql-f81a91db4d1c2032632aa5df9fc14be24f5fe5ec.zip |
Use a real RT index when setting up partition tuple routing.
Before, we always used a dummy value of 1, but that's not right when
the partitioned table being modified is inside of a WITH clause
rather than part of the main query.
Amit Langote, reported and reviewd by Etsuro Fujita, with a comment
change by me.
Discussion: http://postgr.es/m/ee12f648-8907-77b5-afc0-2980bcb0aa37@lab.ntt.co.jp
Diffstat (limited to 'src/backend/executor')
-rw-r--r-- | src/backend/executor/execMain.c | 3 | ||||
-rw-r--r-- | src/backend/executor/nodeModifyTable.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 0f08283f81f..df9302896c0 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -3213,6 +3213,7 @@ EvalPlanQualEnd(EPQState *epqstate) */ void ExecSetupPartitionTupleRouting(Relation rel, + Index resultRTindex, PartitionDispatch **pd, ResultRelInfo **partitions, TupleConversionMap ***tup_conv_maps, @@ -3271,7 +3272,7 @@ ExecSetupPartitionTupleRouting(Relation rel, InitResultRelInfo(leaf_part_rri, partrel, - 1, /* dummy */ + resultRTindex, rel, 0); diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 8d17425abea..77ba15dd900 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -1914,6 +1914,7 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags) num_partitions; ExecSetupPartitionTupleRouting(rel, + node->nominalRelation, &partition_dispatch_info, &partitions, &partition_tupconv_maps, |