Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2049a7d

Browse files
committed
Another attempt at fixing Windows Norwegian locale.
Previous fix mapped "Norwegian (Bokmål)" locale, which contains a non-ASCIIcharacter, to the pure ASCII alias "norwegian-bokmal". However, it turnsout that more recent versions of the CRT library, in particular MSVCR110(Visual Studio 2012), changed the behaviour of setlocale() so that ifyou 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 differentlocales, and therefore not compatible. That caused initdb to fail atCREATE DATABASE.Older CRT versions seem to accept "Norwegian_Norway" too, so change themapping to return "Norwegian_Norway" instead of "norwegian-bokmal".Backpatch to 9.2 like the previous attempt. We haven't made a release thatincludes the previous fix yet, so we don't need to worry about changing thelocale of existing clusters from "norwegian-bokmal" to "Norwegian_Norway".(Doing any mapping like this at all requires changing the locale ofexisting databases; the release notes need to include instructions forthat).
1 parenta10de35 commit2049a7d

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

‎src/port/win32setlocale.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ static const struct locale_map locale_map_result[] = {
9797
* It's not clear what encoding setlocale() uses when it returns the
9898
* locale name, so to play it safe, we search for "Norwegian (Bok*l)".
9999
*/
100-
{"Norwegian (Bokm","l)","norwegian-bokmal"},
100+
{"Norwegian (Bokm","l)_Norway","Norwegian_Norway"},
101101
{NULL,NULL,NULL}
102102
};
103103

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp