Greg Stark <gsstark@mit.edu> writes:
> But then I thought of another idea. What if Postgres just used strxfrm()
> instead of strcoll everywhere? Then it ought to never produce inconsistent
> results. At least if strxfrm() doesn't just return randomly varying results
> for the same inputs.
AFAICS the most that could accomplish is to make failures more obvious;
it wouldn't actually fix anything. I don't think that's worth the
runtime penalty it would incur.
What we *ought* to be doing is trying to figure a way to detect and
disallow inconsistent locale/encoding combinations. We've avoided that
because there seems no general platform-independent way to find out the
encoding expected by a locale. But surely we could manage to make it
work at least on glibc and Windows, which would be a step ahead of doing
nothing.
regards, tom lane