diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-11-14 19:00:36 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-11-14 19:00:36 +0000 |
commit | 89caf56b86393b1caf887294d000bbc983f16c70 (patch) | |
tree | 4142514acda262c520eae49e76b882d786533038 /src | |
parent | 65fbc29956a99e32269a5255020e0be964353af4 (diff) | |
download | postgresql-89caf56b86393b1caf887294d000bbc983f16c70.tar.gz postgresql-89caf56b86393b1caf887294d000bbc983f16c70.zip |
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().
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/optimizer/plan/planner.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 7e722d6a099..ab51f0cedbb 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) { |