Fix set of NLS translation issues
While monitoring the code, a couple of issues related to string translation has showed up: - Some routines for auto-updatable views return an error string, which sometimes missed the shot. A comment regarding string translation is added for each routine to help with future features. - GSSAPI authentication missed two translations. - vacuumdb handles non-translated strings. - GetConfigOptionByNum should translate strings. This part is not back-patched as after a minor upgrade this could be surprising for users. Reported-by: Kyotaro Horiguchi Author: Kyotaro Horiguchi Reviewed-by: Michael Paquier, Tom Lane Discussion: https://postgr.es/m/20180810.152131.31921918.horiguchi.kyotaro@lab.ntt.co.jp Backpatch-through: 9.3
This commit is contained in:
parent
d8c83800c3
commit
72be8c29a1
@ -10826,7 +10826,7 @@ ATExecSetRelOptions(Relation rel, List *defList, AlterTableType operation,
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("WITH CHECK OPTION is supported only on automatically updatable views"),
|
||||
errhint("%s", view_updatable_error)));
|
||||
errhint("%s", _(view_updatable_error))));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -502,7 +502,7 @@ DefineView(ViewStmt *stmt, const char *queryString,
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("WITH CHECK OPTION is supported only on automatically updatable views"),
|
||||
errhint("%s", view_updatable_error)));
|
||||
errhint("%s", _(view_updatable_error))));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1037,6 +1037,10 @@ static GSS_DLLIMP gss_OID GSS_C_NT_USER_NAME = &GSS_C_NT_USER_NAME_desc;
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Generate an error for GSSAPI authentication. The caller should apply
|
||||
* _() to errmsg to make it translatable.
|
||||
*/
|
||||
static void
|
||||
pg_GSS_error(int severity, const char *errmsg, OM_uint32 maj_stat, OM_uint32 min_stat)
|
||||
{
|
||||
@ -1227,7 +1231,7 @@ pg_GSS_recvauth(Port *port)
|
||||
{
|
||||
gss_delete_sec_context(&lmin_s, &port->gss->ctx, GSS_C_NO_BUFFER);
|
||||
pg_GSS_error(ERROR,
|
||||
gettext_noop("accepting GSS security context failed"),
|
||||
_("accepting GSS security context failed"),
|
||||
maj_stat, min_stat);
|
||||
}
|
||||
|
||||
@ -1253,7 +1257,7 @@ pg_GSS_recvauth(Port *port)
|
||||
maj_stat = gss_display_name(&min_stat, port->gss->name, &gbuf, NULL);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
pg_GSS_error(ERROR,
|
||||
gettext_noop("retrieving GSS user name failed"),
|
||||
_("retrieving GSS user name failed"),
|
||||
maj_stat, min_stat);
|
||||
|
||||
/*
|
||||
@ -1317,6 +1321,11 @@ pg_GSS_recvauth(Port *port)
|
||||
*----------------------------------------------------------------
|
||||
*/
|
||||
#ifdef ENABLE_SSPI
|
||||
|
||||
/*
|
||||
* Generate an error for SSPI authentication. The caller should apply
|
||||
* _() to errmsg to make it translatable.
|
||||
*/
|
||||
static void
|
||||
pg_SSPI_error(int severity, const char *errmsg, SECURITY_STATUS r)
|
||||
{
|
||||
|
@ -2217,6 +2217,9 @@ view_has_instead_trigger(Relation view, CmdType event)
|
||||
* is auto-updatable. Returns NULL (if the column can be updated) or a message
|
||||
* string giving the reason that it cannot be.
|
||||
*
|
||||
* The returned string has not been translated; if it is shown as an error
|
||||
* message, the caller should apply _() to translate it.
|
||||
*
|
||||
* Note that the checks performed here are local to this view. We do not check
|
||||
* whether the referenced column of the underlying base relation is updatable.
|
||||
*/
|
||||
@ -2256,6 +2259,9 @@ view_col_is_auto_updatable(RangeTblRef *rtr, TargetEntry *tle)
|
||||
* view_query_is_auto_updatable - test whether the specified view definition
|
||||
* represents an auto-updatable view. Returns NULL (if the view can be updated)
|
||||
* or a message string giving the reason that it cannot be.
|
||||
|
||||
* The returned string has not been translated; if it is shown as an error
|
||||
* message, the caller should apply _() to translate it.
|
||||
*
|
||||
* If check_cols is true, the view is required to have at least one updatable
|
||||
* column (necessary for INSERT/UPDATE). Otherwise the view's columns are not
|
||||
@ -2396,6 +2402,9 @@ view_query_is_auto_updatable(Query *viewquery, bool check_cols)
|
||||
* required columns can be updated) or a message string giving the reason that
|
||||
* they cannot be.
|
||||
*
|
||||
* The returned string has not been translated; if it is shown as an error
|
||||
* message, the caller should apply _() to translate it.
|
||||
*
|
||||
* This should be used for INSERT/UPDATE to ensure that we don't attempt to
|
||||
* assign to any non-updatable columns.
|
||||
*
|
||||
|
@ -8454,13 +8454,13 @@ GetConfigOptionByNum(int varnum, const char **values, bool *noshow)
|
||||
values[2] = NULL;
|
||||
|
||||
/* group */
|
||||
values[3] = config_group_names[conf->group];
|
||||
values[3] = _(config_group_names[conf->group]);
|
||||
|
||||
/* short_desc */
|
||||
values[4] = conf->short_desc;
|
||||
values[4] = _(conf->short_desc);
|
||||
|
||||
/* extra_desc */
|
||||
values[5] = conf->long_desc;
|
||||
values[5] = _(conf->long_desc);
|
||||
|
||||
/* context */
|
||||
values[6] = GucContext_Names[conf->context];
|
||||
|
@ -371,7 +371,7 @@ vacuum_one_database(const char *dbname, vacuumingOptions *vacopts,
|
||||
{
|
||||
if (stage != ANALYZE_NO_STAGE)
|
||||
printf(_("%s: processing database \"%s\": %s\n"),
|
||||
progname, PQdb(conn), stage_messages[stage]);
|
||||
progname, PQdb(conn), _(stage_messages[stage]));
|
||||
else
|
||||
printf(_("%s: vacuuming database \"%s\"\n"),
|
||||
progname, PQdb(conn));
|
||||
|
Loading…
x
Reference in New Issue
Block a user