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 по дате отправления: