Mark Wong <m...@2ndquadrant.com> writes: > a | a > | uuid_cmp > --------------------------------------+--------------------------------------+------------- > 11111111-1111-1111-1111-111111111111 | 11111111-1111-1111-1111-111111111111 > | 0 > 11111111-1111-1111-1111-111111111111 | 22222222-2222-2222-2222-222222222222 > | -2147483648 > 11111111-1111-1111-1111-111111111111 | 3f3e3c3b-3a30-3938-3736-353433a2313e > | -2147483648 > 22222222-2222-2222-2222-222222222222 | 11111111-1111-1111-1111-111111111111 > | 1 > 22222222-2222-2222-2222-222222222222 | 22222222-2222-2222-2222-222222222222 > | 0 > 22222222-2222-2222-2222-222222222222 | 3f3e3c3b-3a30-3938-3736-353433a2313e > | -2147483648 > 3f3e3c3b-3a30-3938-3736-353433a2313e | 11111111-1111-1111-1111-111111111111 > | 1 > 3f3e3c3b-3a30-3938-3736-353433a2313e | 22222222-2222-2222-2222-222222222222 > | 1 > 3f3e3c3b-3a30-3938-3736-353433a2313e | 3f3e3c3b-3a30-3938-3736-353433a2313e > | 0 > (9 rows)
Oooh ... apparently, on that platform, memcmp() is willing to produce INT_MIN in some cases. That's not a safe value for a sort comparator to produce --- we explicitly say that somewhere, IIRC. I think we implement DESC by negating the comparator's result, which explains why only the DESC case fails. regards, tom lane