Still another try at fixing scanjoin_target insertion into parallel plans.
Tom Lane <tgl@sss.pgh.pa.us>
Still another try at fixing scanjoin_target insertion into parallel plans. The previous code neglected the fact that the scanjoin_target might carry sortgroupref labelings that we need to absorb. Instead, do create_projection_path() unconditionally, and tweak the path's cost estimate after the fact. (I'm now convinced that we ought to refactor the way we account for sometimes not needing a separate projection step, but right now is not the time for that sort of cleanup.) Problem identified by Amit Kapila, patch by me.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/plan/planner.c | modified | +21 −18 |
| src/test/regress/expected/select_parallel.out | modified | +17 −1 |
| src/test/regress/sql/select_parallel.sql | modified | +5 −1 |