aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeAgg.c
diff options
context:
space:
mode:
authorJeff Davis <jdavis@postgresql.org>2020-03-28 10:53:01 -0700
committerJeff Davis <jdavis@postgresql.org>2020-03-28 12:07:49 -0700
commit7351bfeda33b60b69c15791c7eb77a127546df26 (patch)
tree816fa39e498d0a2da1837eb74fae9b70f06e73bb /src/backend/executor/nodeAgg.c
parent4083f445c0cbda2eacb6b17297f9d555397e5eaa (diff)
downloadpostgresql-7351bfeda33b60b69c15791c7eb77a127546df26.tar.gz
postgresql-7351bfeda33b60b69c15791c7eb77a127546df26.zip
Fix costing for disk-based hash aggregation.
Report and suggestions from Richard Guo and Tomas Vondra. Discussion: https://postgr.es/m/CAMbWs4_W8fYbAn8KxgidAaZHON_Oo08OYn9ze=7remJymLqo5g@mail.gmail.com
Diffstat (limited to 'src/backend/executor/nodeAgg.c')
-rw-r--r--src/backend/executor/nodeAgg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c
index 2a6f44a6274..4c8c5cfc07a 100644
--- a/src/backend/executor/nodeAgg.c
+++ b/src/backend/executor/nodeAgg.c
@@ -1728,6 +1728,8 @@ hash_agg_set_limits(double hashentrysize, uint64 input_groups, int used_bits,
/* if not expected to spill, use all of work_mem */
if (input_groups * hashentrysize < work_mem * 1024L)
{
+ if (num_partitions != NULL)
+ *num_partitions = 0;
*mem_limit = work_mem * 1024L;
*ngroups_limit = *mem_limit / hashentrysize;
return;