Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: hackers(at)postgreSQL(dot)org (PostgreSQL-development)
Cc: khollis(at)Gawain(dot)Houston-InterWeb(dot)COM
Subject: Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha
Date: 1998-02-12 14:46:01
Message-ID: 199802121446.JAA24893@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Take a look at utils/hash/hashfn.c:tag_hash. Is there a problem in that
> code for your platform. Is the hash getting set, or is it falling
> through the case statements? This code is clearly broken for
> sizeof(int) > 4, but I think your ints are 4, and longs are 8. I bet
> somewhere we are using a long where we should be using an int, and that
> is why only your platform is seeing it. Is this true about long vs.
> int. I can review our use of longs to see if there are problems.

OK, I have a new idea. See in utils/hash/hashfn.c:tag_hash, there is
the line:

for (; keysize > (sizeof(int) - 1); keysize -= sizeof(int),key++)
h = h * PRIME1 ^ (*key);

Now, since h is a long, shouldn't the for loop be comparing
sizeof(long)? However, key is an int*.

Comments?

--
Bruce Momjian
maillist(at)candle(dot)pha(dot)pa(dot)us

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-02-12 14:47:43 Re: [HACKERS] Problem with the numbers I reported yesterday
Previous Message Bruce Momjian 1998-02-12 14:39:50 Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha