diff options
author | Robert Haas <rhaas@postgresql.org> | 2018-02-08 14:29:05 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2018-02-08 14:29:05 -0500 |
commit | e44dd84325c277fd031b9ef486c51a0946c7d3a0 (patch) | |
tree | a501ae2a890898c23dcac6a791fe08299ed9b3c6 /src/backend/executor/execPartition.c | |
parent | 88fdc7006018b92d6ec92c54b3819764703daaba (diff) | |
download | postgresql-e44dd84325c277fd031b9ef486c51a0946c7d3a0.tar.gz postgresql-e44dd84325c277fd031b9ef486c51a0946c7d3a0.zip |
Avoid listing the same ResultRelInfo in more than one EState list.
Doing so causes EXPLAIN ANALYZE to show trigger statistics multiple
times. Commit 2f178441044be430f6b4d626e4dae68a9a6f6cec seems to
be to blame for this.
Amit Langote, revieed by Amit Khandekar, Etsuro Fujita, and me.
Diffstat (limited to 'src/backend/executor/execPartition.c')
-rw-r--r-- | src/backend/executor/execPartition.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/backend/executor/execPartition.c b/src/backend/executor/execPartition.c index ba6b52c32cd..4048c3ebc61 100644 --- a/src/backend/executor/execPartition.c +++ b/src/backend/executor/execPartition.c @@ -178,6 +178,15 @@ ExecSetupPartitionTupleRouting(ModifyTableState *mtstate, resultRTindex, rel, estate->es_instrument); + + /* + * Since we've just initialized this ResultRelInfo, it's not in + * any list attached to the estate as yet. Add it, so that it can + * be found later. + */ + estate->es_tuple_routing_result_relations = + lappend(estate->es_tuple_routing_result_relations, + leaf_part_rri); } part_tupdesc = RelationGetDescr(partrel); @@ -210,9 +219,6 @@ ExecSetupPartitionTupleRouting(ModifyTableState *mtstate, mtstate != NULL && mtstate->mt_onconflict != ONCONFLICT_NONE); - estate->es_leaf_result_relations = - lappend(estate->es_leaf_result_relations, leaf_part_rri); - proute->partitions[i] = leaf_part_rri; i++; } |