Fix confusion in comments about generate_gather_paths
authorAlvaro Herrera
Tue, 23 Feb 2021 23:04:47 +0000 (20:04 -0300)
committerAlvaro Herrera
Tue, 23 Feb 2021 23:05:15 +0000 (20:05 -0300)
d2d8a229bc58 introduced a new function generate_useful_gather_paths to
be used as a replacement for generate_gather_paths, but forgot to update
a couple of places that referenced the older function.

This is possibly not 100% complete (ref. create_ordered_paths), but it's
better than not changing anything.

Author: "Hou, Zhijie" 
Reviewed-by: Tomas Vondra
Discussion: https://postgr.es/m/4ce1d5116fe746a699a6d29858c6a39a@G08CNEXMBPEKD05.g08.fujitsu.local

src/backend/optimizer/path/allpaths.c
src/backend/optimizer/plan/planner.c

index cd3fdd259cdccb0be776c5d769bca4bc616caa7e..d73ac562eb9ad8849aed570f30010a6d84175c84 100644 (file)
@@ -3019,10 +3019,11 @@ standard_join_search(PlannerInfo *root, int levels_needed, List *initial_rels)
        join_search_one_level(root, lev);
 
        /*
-        * Run generate_partitionwise_join_paths() and generate_gather_paths()
-        * for each just-processed joinrel.  We could not do this earlier
-        * because both regular and partial paths can get added to a
-        * particular joinrel at multiple times within join_search_one_level.
+        * Run generate_partitionwise_join_paths() and
+        * generate_useful_gather_paths() for each just-processed joinrel.  We
+        * could not do this earlier because both regular and partial paths
+        * can get added to a particular joinrel at multiple times within
+        * join_search_one_level.
         *
         * After that, we're done creating paths for the joinrel, so run
         * set_cheapest().
index adf68d8790689588c8e24c32d853774980ce471e..545b56bcafd53f3654abd17d099a45db3cc8abdf 100644 (file)
@@ -7212,14 +7212,14 @@ create_partial_grouping_paths(PlannerInfo *root,
  * Generate Gather and Gather Merge paths for a grouping relation or partial
  * grouping relation.
  *
- * generate_gather_paths does most of the work, but we also consider a special
- * case: we could try sorting the data by the group_pathkeys and then applying
- * Gather Merge.
+ * generate_useful_gather_paths does most of the work, but we also consider a
+ * special case: we could try sorting the data by the group_pathkeys and then
+ * applying Gather Merge.
  *
  * NB: This function shouldn't be used for anything other than a grouped or
  * partially grouped relation not only because of the fact that it explicitly
  * references group_pathkeys but we pass "true" as the third argument to
- * generate_gather_paths().
+ * generate_useful_gather_paths().
  */
 static void
 gather_grouping_paths(PlannerInfo *root, RelOptInfo *rel)
@@ -7379,10 +7379,11 @@ apply_scanjoin_target_to_paths(PlannerInfo *root,
     * variations.  So we drop old paths and thereby force the work to be done
     * below the Append, except in the case of a non-parallel-safe target.
     *
-    * Some care is needed, because we have to allow generate_gather_paths to
-    * see the old partial paths in the next stanza.  Hence, zap the main
-    * pathlist here, then allow generate_gather_paths to add path(s) to the
-    * main list, and finally zap the partial pathlist.
+    * Some care is needed, because we have to allow
+    * generate_useful_gather_paths to see the old partial paths in the next
+    * stanza.  Hence, zap the main pathlist here, then allow
+    * generate_useful_gather_paths to add path(s) to the main list, and
+    * finally zap the partial pathlist.
     */
    if (rel_is_partitioned)
        rel->pathlist = NIL;