Re: Solve a problem of LC_TIME of windows. - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject Re: Solve a problem of LC_TIME of windows.
Date
Msg-id 4964DA42.9040401@tpf.co.jp
Whole thread Raw
In response to Re: Solve a problem of LC_TIME of windows.  (ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp>)
List pgsql-hackers
ITAGAKI Takahiro wrote:
> Hiroshi Inoue <inoue@tpf.co.jp> wrote:
> 
>> Seems LC_CTYPE and LC_TIME should be convertible even though we use
>> wcsftime (which internally calls strftime?).
> 
> Ok, wcsftime() requries both LC_TIME and LC_CTYPE are the same setting
> (at least encoding) on Windows.
> 
> The attached patch is an updated version to fix cache_locale_time().
> Now it sets LC_TIME and LC_CTYPE to the specified locale and restore
> them at end of the function. I tested the patch on Windows XP Japanese
> Edition (SJIS) with UTF-8 and EUCJP databases, and worked expectedly.

I've also thought a similar implementation but there seems
a problem of efficiency.
As far as I see wcsftime() is almost = strftime() + mbstowcs() and so using strftime() is effective at least for the
following
cases.

1) LC_CTIME is "C".
2) LC_CTYPE != C and the database encoding != UTF-8. In this   case the current restriction of PostgreSQL requires that
 the database encoding matches the encoding of the LC_CTYPE.
 

We seem to be able to call strftime() directly in above cases.

Comments ?

regards,
Hiroshi Inoue


pgsql-hackers by date:

Previous
From: Sam Mason
Date:
Subject: Re: float8 strtod weirdness
Next
From: David Fetter
Date:
Subject: Re: about truncate