pgsql: Move estimate_hashagg_tablesize to selfuncs.c,and widen result - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Move estimate_hashagg_tablesize to selfuncs.c,and widen result
Date
Msg-id E1gwuV9-0002d2-4x@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Move estimate_hashagg_tablesize to selfuncs.c, and widen result to double.

It seems to make more sense for this to be in selfuncs.c, since it's
largely a statistical-estimation thing, and it's related to other
functions like estimate_hash_bucket_stats that are there.

While at it, change the result type from Size to double.  Perhaps at one
point it was impossible for the result to overflow an integer, but
I've got no confidence in that proposition anymore.  Nothing's actually
done with the result except to compare it to a work_mem-based limit,
so as long as we don't get an overflow on the way to that comparison,
things should be fine even with very large dNumGroups.

Code movement proposed by Antonin Houska, type change by me

Discussion: https://postgr.es/m/25767.1549359615@localhost

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0c7d53793079a1af3f070d93e3eb86a52720f6e7

Modified Files
--------------
src/backend/optimizer/plan/planner.c | 51 +++++-------------------------------
src/backend/utils/adt/selfuncs.c     | 38 +++++++++++++++++++++++++++
src/include/utils/selfuncs.h         |  3 +++
3 files changed, 48 insertions(+), 44 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: doc: Add security information about pg_stat_activity
Next
From: Tom Lane
Date:
Subject: pgsql: Fix mark-and-restore-skipping test case to not be a self-join.