Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> We could change the hash function, perhaps, but then we'd just have
> different cases where there's a problem ... hashing will always fail on
> *some* set of inputs.
Sure, but completely ignoring part of the input seems like an unfortunate
choice of hash function.
> (Also, I have been harboring some notions of supporting cross-type hash
> joins for integer types, which will not work unless small int8 values hash
> the same as int4 etc.)
The obvious way to modify the hash function is to xor the high 32 bits with
the low 32 bits. That maintains the property you need and at least ensures
that all the bits are taken into account.
--
greg