Обсуждение: pgsql: Another attempt at fixing Windows Norwegian locale.

Поиск
Список
Период
Сортировка

pgsql: Another attempt at fixing Windows Norwegian locale.

От
Heikki Linnakangas
Дата:
Another attempt at fixing Windows Norwegian locale.

Previous fix mapped "Norwegian (Bokmål)" locale, which contains a non-ASCII
character, to the pure ASCII alias "norwegian-bokmal". However, it turns
out that more recent versions of the CRT library, in particular MSVCR110
(Visual Studio 2012), changed the behaviour of setlocale() so that if
you pass "norwegian-bokmal" to setlocale, it returns "Norwegian_Norway".

That meant trouble, when setlocale(..., NULL) first returned
"Norwegian (Bokmål)_Norway", which we mapped to "norwegian-bokmal_Norway",
but another call to setlocale(..., "norwegian-bokmal_Norway") returned
"Norwegian_Norway". That caused PostgreSQL to think that they are different
locales, and therefore not compatible. That caused initdb to fail at
CREATE DATABASE.

Older CRT versions seem to accept "Norwegian_Norway" too, so change the
mapping to return "Norwegian_Norway" instead of "norwegian-bokmal".

Backpatch to 9.2 like the previous attempt. We haven't made a release that
includes the previous fix yet, so we don't need to worry about changing the
locale of existing clusters from "norwegian-bokmal" to "Norwegian_Norway".
(Doing any mapping like this at all requires changing the locale of
existing databases; the release notes need to include instructions for
that).

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/aa1d2fc5e91e396bec5bf8a8d10b6cc4af0b0fff

Modified Files
--------------
src/port/win32setlocale.c |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)


Re: pgsql: Another attempt at fixing Windows Norwegian locale.

От
Tom Lane
Дата:
Heikki Linnakangas <heikki.linnakangas@iki.fi> writes:
> Backpatch to 9.2 like the previous attempt. We haven't made a release that
> includes the previous fix yet, so we don't need to worry about changing the
> locale of existing clusters from "norwegian-bokmal" to "Norwegian_Norway".
> (Doing any mapping like this at all requires changing the locale of
> existing databases; the release notes need to include instructions for
> that).

What instructions do you have in mind to give?

            regards, tom lane


Re: pgsql: Another attempt at fixing Windows Norwegian locale.

От
Heikki Linnakangas
Дата:
On 01/16/2015 04:17 PM, Tom Lane wrote:
> Heikki Linnakangas <heikki.linnakangas@iki.fi> writes:
>> Backpatch to 9.2 like the previous attempt. We haven't made a release that
>> includes the previous fix yet, so we don't need to worry about changing the
>> locale of existing clusters from "norwegian-bokmal" to "Norwegian_Norway".
>> (Doing any mapping like this at all requires changing the locale of
>> existing databases; the release notes need to include instructions for
>> that).
>
> What instructions do you have in mind to give?

I wrote preliminary instructions here:
http://www.postgresql.org/message-id/attachment/35205/fix-bokmal-pg_database.txt.
Another method is to use pg_upgrade. I'll need to format that for the
release notes, and add more explanation of what the issue is and who it
applies to.

Or perhaps it would be better to put those instructions on a wiki page,
so that we can easily add to it later if necessary?

- Heikki