src/backend/optimizer/path/allpaths.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index d9a2f9b..9a44c3b 100644 --- a/src/backend/optimizer/path/allpaths.c +++ b/src/backend/optimizer/path/allpaths.c @@ -479,6 +479,15 @@ set_rel_pathlist(PlannerInfo *root, RelOptInfo *rel, } /* + * Allow a plugin to editorialize on the set of Paths for this base + * relation. It could add new paths (such as CustomPaths) by calling + * add_path(), or add_partial_path() if parallel aware, or delete or + * modify paths added by the core code. + */ + if (set_rel_pathlist_hook) + (*set_rel_pathlist_hook) (root, rel, rti, rte); + + /* * If this is a baserel, consider gathering any partial paths we may have * created for it. (If we tried to gather inheritance children, we could * end up with a very large number of gather nodes, each trying to grab @@ -488,14 +497,6 @@ set_rel_pathlist(PlannerInfo *root, RelOptInfo *rel, if (rel->reloptkind == RELOPT_BASEREL) generate_gather_paths(root, rel); - /* - * Allow a plugin to editorialize on the set of Paths for this base - * relation. It could add new paths (such as CustomPaths) by calling - * add_path(), or delete or modify paths added by the core code. - */ - if (set_rel_pathlist_hook) - (*set_rel_pathlist_hook) (root, rel, rti, rte); - /* Now find the cheapest of the paths for this rel */ set_cheapest(rel);