Re: [GENERAL] trouble with to_char('L')

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Hiroshi Inoue <inoue@tpf.co.jp>
Cc: Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp>, Magnus Hagander <magnus@hagander.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-04-26T13:32:11Z
Lists: pgsql-hackers, pgsql-general

Attachments

Hiroshi Inoue wrote:
> Bruce Momjian wrote:
> > Takahiro Itagaki wrote:
> >> Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp> wrote:
> >>
> >>> Revised patch attached. Please test it.
> >> I applied this version of the patch.
> >> Please check wheter the bug is fixed and any buildfarm failures.
> > 
> > Great.  I have merged in my C comments into the code with the attached
> > patch so we remember why the code is setup as it is.
> > 
> > One thing I am confused about is that, for Win32, our numeric/monetary
> > handling sets lc_ctype to match numeric/monetary, while our time code in
> > the same file uses that method _and_ uses wcsftime() to return the value
> > in wide characters.  So, why do we do both for time?  Is there any value
> > to that?
> 
> Unfortunately wcsftime() is a halfway conveniece function which uses
> ANSI version of functionalities internally.
> AFAIC the only way to remove the dependency to LC_CTYPE is to call
>   GeLocaleInfoW() directly.

Thanks.  I have documented this fact in a C comment;  patch attached.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com