After reading a couple more complaints of hashtable-overflow error
messages, I went ahead and rewrote the hash join modules so that they
don't use fixed-size hash buckets and a fixed-size overflow area.
Instead, each bucket is just a linked list of tuples (thus no wasted
space for underused buckets) and everything is put into a private portal
so that reclaiming the space is easy/quick. The code is noticeably
shorter and more readable than before.
The limited amount of testing I've been able to do here shows no
problems.
Now: do I commit it, or wait till after 6.5? I promised Marc the latter
a couple weeks ago, but I am mighty tempted to just go for it...
regards, tom lane