diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-04-20 11:32:02 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-04-20 11:32:02 -0400 |
commit | 7bfba4f1933003716d432d29d4d228bcf28e2e70 (patch) | |
tree | 3ce9f1591698c88d727ed3de330ab2abf935220f /src/backend/executor/nodeModifyTable.c | |
parent | bf5d1f1e0052100b716f7b7b0934aefb28f72e73 (diff) | |
download | postgresql-7bfba4f1933003716d432d29d4d228bcf28e2e70.tar.gz postgresql-7bfba4f1933003716d432d29d4d228bcf28e2e70.zip |
Fix planner failure in some cases of sorting by an aggregate.
An oversight introduced by the incremental-sort patches caused
"could not find pathkey item to sort" errors in some situations
where a sort key involves an aggregate or window function.
The basic problem here is that find_em_expr_usable_for_sorting_rel
isn't properly modeling what prepare_sort_from_pathkeys will do
later. Rather than hoping we can keep those functions in sync,
let's refactor so that they actually share the code for
identifying a suitable sort expression.
With this refactoring, tlist.c's tlist_member_ignore_relabel
is unused. I removed it in HEAD but left it in place in v13,
in case any extensions are using it.
Per report from Luc Vlaming. Back-patch to v13 where the
problem arose.
James Coleman and Tom Lane
Discussion: https://postgr.es/m/91f3ec99-85a4-fa55-ea74-33f85a5c651f@swarm64.com
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions