Andrew Dunstan <andrew@dunslane.net> writes:
> Tom Lane wrote:
>> OK, so what is your default locale on that machine? In particular, is
>> it UTF16-based?
> initdb picks up: "English_United States.1252"
Yup. So it was trying to use this little hack:
/* Win32 has strncoll(), so use it to avoid copying */
return _strncoll(arg1, arg2, Min(len1, len2));
which does not actually do what's desired, if the strings are of
different length. That's what we get for focusing on the hard case
and not testing the easy case ;-)
I've committed a fix.
regards, tom lane