aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-11-14 19:00:36 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-11-14 19:00:36 +0000
commit89caf56b86393b1caf887294d000bbc983f16c70 (patch)
tree4142514acda262c520eae49e76b882d786533038 /src
parent65fbc29956a99e32269a5255020e0be964353af4 (diff)
downloadpostgresql-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.c5
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)
{