forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit60ffd91
Fix hypothetical problem passing the wrong GROUP BY pathkeys
1349d27 changed things to make the planner request that thequery_pathkeys contain pathkeys for any ORDER BY / DISTINCT aggregates.Some code added prior to that commit indb0d67d made it so the orderthat the pathkeys appear in the group_pathkeys could be changed so thatthe GROUP BY could be executed in a more optimal order which minimizedsort comparisons.1349d27 had to make sure that the pathkeys for anyORDER BY / DISTINCT aggregates remained at the end of the groupby_pathkeysand wasn't reordered, so some code was added toadd_paths_to_grouping_rel() to first strip off any pathkeys belonging toORDER BY / DISTINCT aggregates before passing to the function to optimizethe order of the group_pathkeys.It seems I dropped the ball in1349d27 and mistakenly used the untouchedPlannerInfo.group_pathkeys to pass to get_useful_group_keys_orderings()instead of the version that had the aggregate pathkeys removed. It wasonly the code path that was handling creating paths forpartially_grouped_rel which made this mistake. In practice, we'll neverhave any extra pathkeys to strip off when processingpartially_grouped_rel as that's only used when considering partialpaths, which we never do when there are ORDER BY / DISTINCT aggregates.So this is just a hypothetical bug, not a live bug. We already have thecorrect pathkeys determined, so it's of no extra cost to pass thecorrect variable.Reported-by: Justin PryzbyDiscussion:https://postgr.es/m/20220817015755.GB26426@telsasoft.com1 parent72e9328 commit60ffd91
1 file changed
+0
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6637 | 6637 | | |
6638 | 6638 | | |
6639 | 6639 | | |
6640 | | - | |
6641 | 6640 | | |
6642 | | - | |
6643 | | - | |
6644 | 6641 | | |
6645 | 6642 | | |
6646 | 6643 | | |
| |||
0 commit comments
Comments
(0)