postgres.git / summary / log / commit / refs

commit    c0c2a9b01a85fd95195af997e0c1dfaaafa3b20b
Author:   Alvaro Herrera <alvherre@alvh.no-ip.org>
Date:     Wed Sep 28 15:14:53 2022 +0000
First released in: 16.0, 10.23, 11.18, 12.13, 13.9, 14.6, 15.0

    Change some errdetail() to errdetail_internal()
    
    This prevents marking the argument string for translation for gettext,
    and it also prevents the given string (which is already translated) from
    being translated at runtime.
    
    Also, mark the strings used as arguments to check_rolespec_name for
    translation.
    
    Backpatch all the way back as appropriate.  None of this is caught by
    any tests (necessarily so), so I verified it manually.


src/backend/catalog/dependency.c | 6 +++--- src/backend/commands/user.c | 4 ++-- src/backend/utils/adt/acl.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c index ef16e6ba133..aa2d198776d 100644 --- a/src/backend/catalog/dependency.c +++ b/src/backend/catalog/dependency.c @@ -991,14 +991,14 @@ reportDependentObjects(const ObjectAddresses *targetObjects, (errcode(ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST), errmsg("cannot drop %s because other objects depend on it", getObjectDescription(origObject)), - errdetail("%s", clientdetail.data), + errdetail_internal("%s", clientdetail.data), errdetail_log("%s", logdetail.data), errhint("Use DROP ... CASCADE to drop the dependent objects too."))); else ereport(ERROR, (errcode(ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST), errmsg("cannot drop desired object(s) because other objects depend on them"), - errdetail("%s", clientdetail.data), + errdetail_internal("%s", clientdetail.data), errdetail_log("%s", logdetail.data), errhint("Use DROP ... CASCADE to drop the dependent objects too."))); } @@ -1010,7 +1010,7 @@ reportDependentObjects(const ObjectAddresses *targetObjects, "drop cascades to %d other objects", numReportedClient + numNotReportedClient, numReportedClient + numNotReportedClient), - errdetail("%s", clientdetail.data), + errdetail_internal("%s", clientdetail.data), errdetail_log("%s", logdetail.data))); } else if (numReportedClient == 1) diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c index f1c2b0ff134..6f24fdb3c27 100644 --- a/src/backend/commands/user.c +++ b/src/backend/commands/user.c @@ -552,7 +552,7 @@ AlterRole(AlterRoleStmt *stmt) Oid roleid; check_rolespec_name(stmt->role, - "Cannot alter reserved roles."); + _("Cannot alter reserved roles.")); /* Extract options from the statement node tree */ foreach(option, stmt->options) @@ -906,7 +906,7 @@ AlterRoleSet(AlterRoleSetStmt *stmt) if (stmt->role) { check_rolespec_name(stmt->role, - "Cannot alter reserved roles."); + _("Cannot alter reserved roles.")); roletuple = get_rolespec_tuple(stmt->role); roleid = HeapTupleGetOid(roletuple); diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index d4df743523f..eeff2ca089d 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -5307,7 +5307,7 @@ get_rolespec_name(const RoleSpec *role) /* * Given a RoleSpec, throw an error if the name is reserved, using detail_msg, - * if provided. + * if provided (which must be already translated). * * If node is NULL, no error is thrown. If detail_msg is NULL then no detail * message is provided. @@ -5328,7 +5328,7 @@ check_rolespec_name(const RoleSpec *role, const char *detail_msg) (errcode(ERRCODE_RESERVED_NAME), errmsg("role name \"%s\" is reserved", role->rolename), - errdetail("%s", detail_msg))); + errdetail_internal("%s", detail_msg))); else ereport(ERROR, (errcode(ERRCODE_RESERVED_NAME), [parent: 5d6c5d0e9585]