>> Which appears to suggest that we should change the locale using
>> putenv() etc, and not using setlocale() at all... Because setlocale()
>> does not support LC_MESSAGES, probably.
>
>This cannot possibly work.  putenv() doesn't change any locale.  The 
>environment variables only serve as a default when you call 
>setlocale() 
>without an actual locale value.  But to enable any locale, you always 
>need to call setlocale() somehow, somewhere.

That was my first thought, too. But it *does* appear to work.

With this patch, I can change lc_messages from
environment-before-startup, from postgresql.conf or using "set
lc_messages='foo'". 
The only main thing I see as being wrong is that it cannot check if the
specified messages were incorrect. If I literally set it to "foo", I get
english without getting any error/warning.

Clearly they don't just serve as defaults on win32. That's the only
conclusion I can draw from the fact that this works, and from the
questions in the FAQ referenced.

See also for example
http://lists.gnu.org/archive/html/bug-gnu-utils/2004-02/msg00091.html


//Magnus

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to