]> granicus.if.org Git - postgresql/commit
Remove bogus code to apply PathTargets to partial paths.
authorRobert Haas <rhaas@postgresql.org>
Fri, 3 Jun 2016 18:27:33 +0000 (14:27 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 3 Jun 2016 18:27:33 +0000 (14:27 -0400)
commit04ae11f62e643e07c411c4935ea6af46cb112aa9
tree7c51c3bf58eb6f04c49c1e59c5c44ac1a81b7976
parentcac8321970e9fd18730b2ca4e15f2c61dd326053
Remove bogus code to apply PathTargets to partial paths.

The partial paths that get modified may already have been used as
part of a GatherPath which appears in the path list, so modifying
them is not a good idea at this stage - especially because this
code has no check that the PathTarget is in fact parallel-safe.

When partial aggregation is being performed, this is actually
harmless because we'll end up replacing the pathtargets here with
the correct ones within create_grouping_paths().  But if we've got
a query tree containing only scan/join operations then this can
result in incorrectly pushing down parallel-restricted target
list entries.  If those are, for example, references to subqueries,
that can crash the server; but it's wrong in any event.

Amit Kapila
src/backend/optimizer/plan/planner.c