]> granicus.if.org Git - postgresql/commit
Fix performance problems in multi-batch hash joins by ensuring that we select
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 1 Jun 2007 15:58:09 +0000 (15:58 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 1 Jun 2007 15:58:09 +0000 (15:58 +0000)
commit38bbcb3888d8d93dfc369fbbac49888860596010
tree18deb70ac768ef7925b8dc008b96877ab8ee80f3
parent4c2158bf0c309099c1d185405b3d10d41708eb2e
Fix performance problems in multi-batch hash joins by ensuring that we select
a well-randomized batch number even when given a poorly-randomized hash value.
This is a bit inefficient but seems the only practical solution given the
constraint that we can't change the hash functions in released branches.
Per report from Joseph Shraibman.

Applied to 8.1 and 8.2 only --- HEAD is getting a cleaner fix, and 8.0 and
before use different coding that seems less vulnerable.
src/backend/access/hash/hashfunc.c
src/backend/executor/nodeHash.c
src/include/access/hash.h