If you do this I suggest supporting bigint as well.
On Tue, May 04, 2004 at 06:45:37PM -0400, Greg Stark wrote:
>
> Regarding inter-data-type hash joins, would it make sense to make float
> datatypes to hash to the same value as integral data types for integral
> values?
>
> Conveniently this would cover the existing special case of -0 and +0 hashing
> to the same value. Something like this?
>
> Datum
> hashfloat4(PG_FUNCTION_ARGS)
> {
> float4 key = PG_GETARG_FLOAT4(0);
>
> if (key == (int32)key)
> PG_RETURN_UINT32(~(int32)key);
>
> return hash_any((unsigned char *) &key, sizeof(key));
> }
>
>
> Incidentally, why do all the floatfoo functions invert the value? It doesn't
> seem like that affects the quality of the hash at all.
>
>
> --
> greg
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
--
Jim C. Nasby, Database Consultant jim@nasby.net
Member: Triangle Fraternity, Sports Car Club of America
Give your computer some brain candy! www.distributed.net Team #1828
Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"