From 87b6c3c0b703c3a71bc640f456a24937744ff30b Mon Sep 17 00:00:00 2001 From: Richard Guo Date: Mon, 9 Sep 2024 12:58:31 +0900 Subject: [PATCH] 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 8e0e5977a9..bb45ef318f 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, -- 2.39.5