• Tom Lane's avatar
    Fix planner failure in some cases of sorting by an aggregate. · 37539824
    Tom Lane authored
    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
    37539824
incremental_sort.out 36.7 KB