Christophe Labouisse <labouiss@cybercable.fr> writes:
>> As a temporary measure you could rebuild with USE_LOCALE turned on;
>> the parser code is set up not to generate the <= clause if that's
>> defined. But we need a better solution.
> Hmm that's strange I though I compiled already with locale
> enabled.
Hmm. According to the cvs logs, G�ran Thyni applied a patch on Feb 2
to disable the \377 thing when USE_LOCALE is defined. How old did you
say your source was? Look in backend/parser/gram.y, routine
makeIndexable(), to see if there is an #ifdef USE_LOCALE; also check
gram.c to make sure it has the same text for the routine (I'm wondering
if you might have an out-of-date gram.c...)
> Anyway I'll check it again. Anyway I think that even without locale
> this optimization can lead to incorrect result if you have a a field
> starting with \377.
I agree, the code is wrong even without funny sort ordering. We'll
need to find another way.
regards, tom lane