Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't work correctly if the locale name

From: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>, pgsql-hackers(at)postgresql(dot)org, pgsql-committers(at)postgresql(dot)org
Subject: Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't work correctly if the locale name
Date: 2011-04-20 01:42:35
Message-ID: 4DAE3A0B.6080704@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

(2011/04/20 9:22), Tom Lane wrote:
> Hiroshi Inoue<inoue(at)tpf(dot)co(dot)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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2011-04-20 03:25:16 Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't work correctly if the locale name
Previous Message Bruce Momjian 2011-04-20 01:00:59 pgsql: Throw error for mismatched pg_upgrade clusters

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-04-20 02:36:14 Re: pg_dump --binary-upgrade vs. ALTER TYPE ... DROP ATTRIBUTE
Previous Message Bruce Momjian 2011-04-20 01:02:41 Fix for pg_upgrade with extra new cluster databases