diff options
author | Jeff Davis <jdavis@postgresql.org> | 2020-06-08 20:59:45 -0700 |
---|---|---|
committer | Jeff Davis <jdavis@postgresql.org> | 2020-06-08 21:08:24 -0700 |
commit | 2174d40117f62099c7b11a2d43d163b7b9271d39 (patch) | |
tree | 754682948da562847a6278e06f844fcf54539ff1 | |
parent | de4a25989611d960360d0513d00b970d3b6c52c7 (diff) | |
download | postgresql-2174d40117f62099c7b11a2d43d163b7b9271d39.tar.gz postgresql-2174d40117f62099c7b11a2d43d163b7b9271d39.zip |
Fix HashAgg regression from choosing too many initial buckets.
Diagnosis by Andres.
Reported-by: Pavel Stehule
Discussion: https://postgr.es/m/CAFj8pRDLVakD5Aagt3yZeEQeTeEWaS3YE5h8XC3Q3qJ6TYkc2Q%40mail.gmail.com
Backpatch-through: 13
-rw-r--r-- | src/backend/executor/nodeAgg.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c index 26111327ca1..331acee2814 100644 --- a/src/backend/executor/nodeAgg.c +++ b/src/backend/executor/nodeAgg.c @@ -294,9 +294,6 @@ #define HASHAGG_READ_BUFFER_SIZE BLCKSZ #define HASHAGG_WRITE_BUFFER_SIZE BLCKSZ -/* minimum number of initial hash table buckets */ -#define HASHAGG_MIN_BUCKETS 256 - /* * Estimate chunk overhead as a constant 16 bytes. XXX: should this be * improved? @@ -1926,9 +1923,8 @@ hash_choose_num_buckets(double hashentrysize, long ngroups, Size memory) if (nbuckets > max_nbuckets) nbuckets = max_nbuckets; - if (nbuckets < HASHAGG_MIN_BUCKETS) - nbuckets = HASHAGG_MIN_BUCKETS; - return nbuckets; + + return Max(nbuckets, 1); } /* |