From: Tom Lane Date: Thu, 14 Nov 2002 19:00:36 +0000 (+0000) Subject: Fix planning bug introduced in recent code reorganization for hashed X-Git-Tag: REL7_4_BETA1~1560 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=89caf56b86393b1caf887294d000bbc983f16c70;p=postgresql Fix planning bug introduced in recent code reorganization for hashed aggregates: tuple_fraction has to be adjusted before passing it to compare_fractional_path_costs(). --- diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 7e722d6a09..ab51f0cedb 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.127 2002/11/06 22:31:24 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.128 2002/11/14 19:00:36 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1257,6 +1257,9 @@ grouping_planner(Query *parse, double tuple_fraction) sorted_path->parent->rows, sorted_path->parent->width); sort_path.startup_cost += cheapest_path->total_cost; sort_path.total_cost += cheapest_path->total_cost; + /* Convert absolute-count tuple_fraction into a fraction */ + if (tuple_fraction >= 1.0) + tuple_fraction /= sorted_path->parent->rows; if (compare_fractional_path_costs(sorted_path, &sort_path, tuple_fraction) <= 0) {