]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Change some errdetail() to errdetail_internal()
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 28 Sep 2022 15:14:53 +0000 (17:14 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 28 Sep 2022 15:14:53 +0000 (17:14 +0200)
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
src/backend/commands/user.c
src/backend/utils/adt/acl.c

index fda39726d499ba56a87238332752a500f69a1f72..46ced9bb60136872b65ee2f88e49c11ee1572d55 100644 (file)
@@ -1198,14 +1198,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.")));
        }
@@ -1217,7 +1217,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)
index 85fb57f4b1d70051841f905c3988ce1695b47c05..3c5e0f9320b24460ca81b78a6b5acf95ebc413ac 100644 (file)
@@ -567,7 +567,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)
@@ -922,7 +922,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);
                roleform = (Form_pg_authid) GETSTRUCT(roletuple);
index 2273f1cde1bdb5b3cfe941741e90be94f649cf4b..409a59bc784baa959a8f6d8aa0ff85bfd7f417cd 100644 (file)
@@ -5323,7 +5323,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.
@@ -5344,7 +5344,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),