Preparatory refactoring for parallel merge join support.
Robert Haas <rhaas@postgresql.org>
Preparatory refactoring for parallel merge join support. Extract the logic used by hash_inner_and_outer into a separate function, get_cheapest_parallel_safe_total_inner, so that it can also be used to plan parallel merge joins. Also, add a require_parallel_safe argument to the existing function get_cheapest_path_for_pathkeys, because parallel merge join needs to find the cheapest path for a given set of pathkeys that is parallel-safe, not just the cheapest one overall. Patch by me, reviewed by Dilip Kumar. Discussion: http://postgr.es/m/CA+TgmoYOv+dFK0MWW6366dFj_xTnohQfoBDrHyB7d1oZhrgPjA@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/path/allpaths.c | modified | +6 −3 |
| src/backend/optimizer/path/joinpath.c | modified | +6 −17 |
| src/backend/optimizer/path/pathkeys.c | modified | +28 −1 |
| src/include/optimizer/paths.h | modified | +3 −1 |
Discussion
- Proposal : Parallel Merge Join 39 messages · 2016-12-10 → 2017-03-07