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_xtnohqfobdrhyb7d1ozhrg...@mail.gmail.com Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/a71f10189dc10a2fe422158a2c9409e0f77c6b9e Modified Files -------------- src/backend/optimizer/path/allpaths.c | 9 ++++++--- src/backend/optimizer/path/joinpath.c | 23 ++++++----------------- src/backend/optimizer/path/pathkeys.c | 29 ++++++++++++++++++++++++++++- src/include/optimizer/paths.h | 4 +++- 4 files changed, 43 insertions(+), 22 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers