diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c index 37b74d4373..bad3dd1a73 100644 --- a/src/backend/optimizer/path/joinpath.c +++ b/src/backend/optimizer/path/joinpath.c @@ -323,7 +323,8 @@ add_paths_to_joinrel(PlannerInfo *root, /* * createplan.c does not currently support handling of pseudoconstant * clauses assigned to joins pushed down by extensions; check if the - * restrictlist has such clauses, and if so, disallow pushing down joins. + * restrictlist has such clauses, and if not, allow them to consider + * pushing down joins. */ if ((joinrel->fdwroutine && joinrel->fdwroutine->GetForeignJoinPaths) || @@ -344,7 +345,10 @@ add_paths_to_joinrel(PlannerInfo *root, jointype, &extra); /* - * 6. Finally, give extensions a chance to manipulate the path list. + * 6. Finally, give extensions a chance to manipulate the path list. They + * could add new paths (such as CustomPaths) by calling add_path(), or + * add_partial_path() if parallel aware. They could also delete or modify + * paths added by the core code. */ if (set_join_pathlist_hook && consider_join_pushdown)