Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't work correctly if the locale name
| От | Hiroshi Inoue |
|---|---|
| Тема | Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't work correctly if the locale name |
| Дата | |
| Msg-id | 4DAE3A0B.6080704@tpf.co.jp обсуждение исходный текст |
| Ответ на | Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't work correctly if the locale name (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't
work correctly if the locale name
|
| Список | pgsql-committers |
(2011/04/20 9:22), Tom Lane wrote:
> Hiroshi Inoue<inoue@tpf.co.jp> writes:
>> (2011/04/16 2:56), Heikki Linnakangas wrote:
>>> setlocale() on Windows doesn't work correctly if the locale name contains
>>> apostrophes or dots.
>
>> As for apostrophes, isn't the cause that initdb loses the single quote
>> of locale? ([BUGS] BUG #5818: initdb lose the single quote of locale)
>
>> As the bug reporter mentions, initdb loses the single quote in reality.
>> Concretely speaking, scanstr() called from bootscanner.l loses it.
>> I'm not sure if it's suitable for the bootstrap code to call scanstr().
>
> Huh? Bootstrap mode just deals with the data found in
> src/include/catalog/*.h. The locale names found by initdb.c are stuck
> in there afterwards, using regular SQL commands.
bootstrap_template1() in initdb runs the BKI script in bootstrap
mode to create template1. Some symbols (LC_COLLATE, LC_CTYPE in
pg_database etc) in the BKI script are substituted by actual values
using replace_token(). Isn't it correct?
ISTM replace_token() takes care of nothing about single quotes
in its input values but the comment in scanstr() says
/*
* Note: if scanner is working right, unescaped
quotes can only
* appear in pairs, so there should be another
character.
*/
regards,
Hiroshi Inoue
> I don't know where the
> problem really comes from, but I doubt the connection you're trying to
> make above.
>
> regards, tom lane
В списке pgsql-committers по дате отправления: