From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | machine-dependent hash_any vs the regression tests |
Date: | 2008-04-05 21:57:35 |
Message-ID: | 10067.1207432655@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
So the proposed changes in hash_any make its hash values different
between big-endian and little-endian machines (at least for string keys;
for keys that are really arrays of int, I think the changes will
unify the behavior). This means that the hash_seq_search traversal
order for an internal hash table changes, and it turns out this breaks
at least two regression tests: portals and dblink. The portals test
is easy to fix by adding a couple of ORDER BYs, but the problem with
dblink is here:
SELECT dblink_get_connections();
dblink_get_connections
------------------------
! {dtest1,dtest2,dtest3}
(1 row)
SELECT dblink_is_busy('dtest1');
--- 714,720 ----
SELECT dblink_get_connections();
dblink_get_connections
------------------------
! {dtest1,dtest3,dtest2}
(1 row)
SELECT dblink_is_busy('dtest1');
and right offhand I can't think of a simple way to force those array
elements into a consistent order.
No doubt that can be worked around, but does anyone wish to argue that
this whole thing is a bad path to be headed down? We're not going to
gain a *whole* lot of speedup from the word-wide-hashing change, and
so maybe this type of headache isn't worth the trouble.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Gregory Stark | 2008-04-05 22:28:07 | Re: machine-dependent hash_any vs the regression tests |
Previous Message | Bruce Momjian | 2008-04-05 21:21:22 | Re: [HACKERS] Patch queue -> wiki |