Thread

  1. Re: BUG #19102: Assertion failure in generate_orderedappend_paths with aggregate pushdown

    Richard Guo <guofenglinux@gmail.com> — 2025-11-05T10:19:15Z

    On Wed, Nov 5, 2025 at 5:30 PM Alexander Korotkov <aekorotkov@gmail.com> wrote:
    > Hmm... I don't quite get the point, because with my patch
    > get_cheapest_fractional_path_for_pathkeys() would allow passing tuple
    > fraction as either fraction of tuples or absolute number of tuples in
    > the same way as grouping_planner() (see its header comment).
    
    Now I see what you mean.  However, I'm still not sure this is a better
    approach, especially since the tuple fraction could end up being
    calculated twice in the build_minmax_path() case.  Also, I still don't
    think the comment in your patch is correct.  The comment for
    get_cheapest_fractional_path_for_pathkeys() states:
    
     * See compare_fractional_path_costs() for the interpretation of the fraction
     * parameter.
    
    However, in cases where the fraction is greater than 1,
    compare_fractional_path_costs() interprets it as 1, whereas the
    get_cheapest_fractional_path_for_pathkeys() function in your patch
    interprets it as the absolute number of tuples to be retrieved.
    
    > But given we need to backpatch this, we should avoid changing
    > functions signatures.  So, please, go ahead pushing your patch.
    
    I've pushed and backpatched v2-0001.  Thanks to everyone for the
    reviews, and to Kuntal for the report and reproduction script.
    
    I've also pushed 0002, but only to master.  I'm a bit hesitant to
    backpatch it given the lack of field complaints.  If it later turns
    out that a backpatch is needed, we can do that then.
    
    - Richard