From 7b69b6ceb8047979ddf82af12ec1de143da62263 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 1 Sep 2017 00:13:25 -0400 Subject: Fix assorted carelessness about Datum vs. int64 vs. uint64 Bugs introduced by commit 81c5e46c490e2426db243eada186995da5bb0ba7 --- src/backend/utils/adt/date.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/backend/utils/adt/date.c') diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index 34c0b52d583..0992bb3fdd0 100644 --- a/src/backend/utils/adt/date.c +++ b/src/backend/utils/adt/date.c @@ -2223,14 +2223,15 @@ Datum timetz_hash_extended(PG_FUNCTION_ARGS) { TimeTzADT *key = PG_GETARG_TIMETZADT_P(0); - uint64 seed = PG_GETARG_DATUM(1); + Datum seed = PG_GETARG_DATUM(1); uint64 thash; /* Same approach as timetz_hash */ thash = DatumGetUInt64(DirectFunctionCall2(hashint8extended, Int64GetDatumFast(key->time), seed)); - thash ^= DatumGetUInt64(hash_uint32_extended(key->zone, seed)); + thash ^= DatumGetUInt64(hash_uint32_extended(key->zone, + DatumGetInt64(seed))); PG_RETURN_UINT64(thash); } -- cgit v1.2.3