• Tom Lane's avatar
    Move estimate_hashagg_tablesize to selfuncs.c, and widen result to double. · 0c7d5379
    Tom Lane authored
    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
    0c7d5379
selfuncs.c 206 KB