@@ -1248,17 +1248,17 @@ grouping_planner(PlannerInfo *root, double tuple_fraction)
12481248 need_sort_for_grouping = true;
12491249
12501250 /*
1251- * Always override query_planner 's tlist, so that we don't
1251+ * Always override create_plan 's tlist, so that we don't
12521252 * sort useless data from a "physical" tlist.
12531253 */
12541254 need_tlist_eval = true;
12551255 }
12561256
12571257 /*
1258- * create_plan() returns a plan with just a "flat" tlist of
1258+ * create_plan returns a plan with just a "flat" tlist of
12591259 * required Vars. Usually we need to insert the sub_tlist as the
12601260 * tlist of the top plan node. However, we can skip that if we
1261- * determined that whatever query_planner chose to return will be
1261+ * determined that whatever create_plan chose to return will be
12621262 * good enough.
12631263 */
12641264 if (need_tlist_eval )
@@ -1311,7 +1311,7 @@ grouping_planner(PlannerInfo *root, double tuple_fraction)
13111311 else
13121312 {
13131313 /*
1314- * Since we're using query_planner 's tlist and not the one
1314+ * Since we're using create_plan 's tlist and not the one
13151315 * make_subplanTargetList calculated, we have to refigure any
13161316 * grouping-column indexes make_subplanTargetList computed.
13171317 */
@@ -2521,10 +2521,11 @@ choose_hashed_distinct(PlannerInfo *root,
25212521 * make_subplanTargetList
25222522 * Generate appropriate target list when grouping is required.
25232523 *
2524- * When grouping_planner inserts Aggregate, Group, or Result plan nodes
2525- * above the result of query_planner, we typically want to pass a different
2526- * target list to query_planner than the outer plan nodes should have.
2527- * This routine generates the correct target list for the subplan.
2524+ * When grouping_planner inserts grouping or aggregation plan nodes
2525+ * above the scan/join plan constructed by query_planner+create_plan,
2526+ * we typically want the scan/join plan to emit a different target list
2527+ * than the outer plan nodes should have. This routine generates the
2528+ * correct target list for the scan/join subplan.
25282529 *
25292530 * The initial target list passed from the parser already contains entries
25302531 * for all ORDER BY and GROUP BY expressions, but it will not have entries
@@ -2547,15 +2548,18 @@ choose_hashed_distinct(PlannerInfo *root,
25472548 * If we are grouping or aggregating, *and* there are no non-Var grouping
25482549 * expressions, then the returned tlist is effectively dummy; we do not
25492550 * need to force it to be evaluated, because all the Vars it contains
2550- * should be present in the output of query_planner anyway.
2551+ * should be present in the "flat" tlist generated by create_plan, though
2552+ * possibly in a different order. In that case we'll use create_plan's tlist,
2553+ * and the tlist made here is only needed as input to query_planner to tell
2554+ * it which Vars are needed in the output of the scan/join plan.
25512555 *
25522556 * 'tlist' is the query's target list.
25532557 * 'groupColIdx' receives an array of column numbers for the GROUP BY
2554- * expressions (if there are any) in the subplan's target list.
2558+ * expressions (if there are any) in the returned target list.
25552559 * 'need_tlist_eval' is set true if we really need to evaluate the
2556- * result tlist.
2560+ * returned tlist as-is .
25572561 *
2558- * The result is the targetlist to be passed to the subplan .
2562+ * The result is the targetlist to be passed to query_planner .
25592563 */
25602564static List *
25612565make_subplanTargetList (PlannerInfo * root ,
@@ -2649,7 +2653,7 @@ make_subplanTargetList(PlannerInfo *root,
26492653
26502654/*
26512655 * locate_grouping_columns
2652- * Locate grouping columns in the tlist chosen by query_planner .
2656+ * Locate grouping columns in the tlist chosen by create_plan .
26532657 *
26542658 * This is only needed if we don't use the sub_tlist chosen by
26552659 * make_subplanTargetList. We have to forget the column indexes found
0 commit comments