postgres.git / summary / log / commit / refs

commit    87b6c3c0b703c3a71bc640f456a24937744ff30b
Author:   Richard Guo <rguo@postgresql.org>
Date:     Mon Sep 09 03:58:31 2024 +0000
First released in: 18.0

    Fix order of parameters in a cost_sort call
    
    In label_sort_with_costsize, the cost_sort function is called with the
    parameters 'input_disabled_nodes' and 'input_cost' in the wrong order.
    This does not cause any plan diffs in the regression tests, because
    label_sort_with_costsize is only used to label the Sort node nicely
    for EXPLAIN, and cost numbers are not displayed in regression tests.
    
    Oversight in e22253467.  Fixed by passing arguments in the right
    order.
    
    Per report from Alexander Lakhin running UBSan.
    
    Author: Alexander Lakhin
    Discussion: https://postgr.es/m/a9b7231d-68bc-f117-a07c-96688f3e6aef@gmail.com


src/backend/optimizer/plan/createplan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index 8e0e5977a9f..bb45ef318fb 100644 --- a/src/backend/optimizer/plan/createplan.c +++ b/src/backend/optimizer/plan/createplan.c @@ -5454,8 +5454,8 @@ label_sort_with_costsize(PlannerInfo *root, Sort *plan, double limit_tuples) Assert(IsA(plan, Sort)); cost_sort(&sort_path, root, NIL, - lefttree->total_cost, plan->plan.disabled_nodes, + lefttree->total_cost, lefttree->plan_rows, lefttree->plan_width, 0.0, [parent: fc415edf8ca8]