Jeff Janes <jeff.janes@gmail.com> writes:
> In BuildTupleHashTable
> /* Limit initial table size request to not more than work_mem */
> nbuckets = Min(nbuckets, (long) ((work_mem * 1024L) / entrysize));
> Is this a good idea? If the caller of this code has no respect for
> work_mem, they are still going to blow it out of the water. Now we will
> just do a bunch of hash-table splitting in the process. That is only going
> to add to the pain.
It looks perfectly reasonable to me. The point I think is that the caller
doesn't have to be very careful about calculating its initial request
size.
regards, tom lane