mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Fix confusion in comments about generate_gather_paths
d2d8a229bc
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" <houzj.fnst@cn.fujitsu.com>
Reviewed-by: Tomas Vondra <tomas.vondra@enterprisedb.com>
Discussion: https://postgr.es/m/4ce1d5116fe746a699a6d29858c6a39a@G08CNEXMBPEKD05.g08.fujitsu.local
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user