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

Commite7da27c

Browse files
committed
Report more information if pg_perm_setlocale() fails at startup.
We don't know why a few Windows users have seen this fail, but thetaciturnity of the error message certainly isn't helping debug it.Let's at least find out which LC category isn't working.
1 parent82f81ba commite7da27c

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

‎src/backend/main/main.c

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ const char *progname;
4848

4949

5050
staticvoidstartup_hacks(constchar*progname);
51-
staticvoidinit_locale(intcategory,constchar*locale);
51+
staticvoidinit_locale(constchar*categoryname,intcategory,constchar*locale);
5252
staticvoidhelp(constchar*progname);
5353
staticvoidcheck_root(constchar*progname);
5454
staticchar*get_current_username(constchar*progname);
@@ -122,31 +122,31 @@ main(int argc, char *argv[])
122122
char*env_locale;
123123

124124
if ((env_locale=getenv("LC_COLLATE"))!=NULL)
125-
init_locale(LC_COLLATE,env_locale);
125+
init_locale("LC_COLLATE",LC_COLLATE,env_locale);
126126
else
127-
init_locale(LC_COLLATE,"");
127+
init_locale("LC_COLLATE",LC_COLLATE,"");
128128

129129
if ((env_locale=getenv("LC_CTYPE"))!=NULL)
130-
init_locale(LC_CTYPE,env_locale);
130+
init_locale("LC_CTYPE",LC_CTYPE,env_locale);
131131
else
132-
init_locale(LC_CTYPE,"");
132+
init_locale("LC_CTYPE",LC_CTYPE,"");
133133
}
134134
#else
135-
init_locale(LC_COLLATE,"");
136-
init_locale(LC_CTYPE,"");
135+
init_locale("LC_COLLATE",LC_COLLATE,"");
136+
init_locale("LC_CTYPE",LC_CTYPE,"");
137137
#endif
138138

139139
#ifdefLC_MESSAGES
140-
init_locale(LC_MESSAGES,"");
140+
init_locale("LC_MESSAGES",LC_MESSAGES,"");
141141
#endif
142142

143143
/*
144144
* We keep these set to "C" always, except transiently in pg_locale.c; see
145145
* that file for explanations.
146146
*/
147-
init_locale(LC_MONETARY,"C");
148-
init_locale(LC_NUMERIC,"C");
149-
init_locale(LC_TIME,"C");
147+
init_locale("LC_MONETARY",LC_MONETARY,"C");
148+
init_locale("LC_NUMERIC",LC_NUMERIC,"C");
149+
init_locale("LC_TIME",LC_TIME,"C");
150150

151151
/*
152152
* Now that we have absorbed as much as we wish to from the locale
@@ -301,11 +301,12 @@ startup_hacks(const char *progname)
301301
* category's environment variable.
302302
*/
303303
staticvoid
304-
init_locale(intcategory,constchar*locale)
304+
init_locale(constchar*categoryname,intcategory,constchar*locale)
305305
{
306306
if (pg_perm_setlocale(category,locale)==NULL&&
307307
pg_perm_setlocale(category,"C")==NULL)
308-
elog(FATAL,"could not adopt C locale");
308+
elog(FATAL,"could not adopt \"%s\" locale nor C locale for %s",
309+
locale,categoryname);
309310
}
310311

311312

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp