Make some error strings more generic
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 20 Oct 2023 20:52:15 +0000 (22:52 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 20 Oct 2023 20:52:15 +0000 (22:52 +0200)
It's undesirable to have SQL commands or configuration options in a
translatable error string, so take some of these out.

src/backend/commands/collationcmds.c
src/backend/commands/tablecmds.c
src/backend/commands/typecmds.c

index cc239b4d14f3ba29396469b59be55e1dd6a6519a..a4532bf81fd1c2b1460ff72434eb55e630069b48 100644 (file)
@@ -250,19 +250,22 @@ DefineCollation(ParseState *pstate, List *names, List *parameters, bool if_not_e
                        if (!collcollate)
                                ereport(ERROR,
                                                (errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
-                                                errmsg("parameter \"lc_collate\" must be specified")));
+                                                errmsg("parameter \"%s\" must be specified",
+                                                               "lc_collate")));
 
                        if (!collctype)
                                ereport(ERROR,
                                                (errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
-                                                errmsg("parameter \"lc_ctype\" must be specified")));
+                                                errmsg("parameter \"%s\" must be specified",
+                                                               "lc_ctype")));
                }
                else if (collprovider == COLLPROVIDER_ICU)
                {
                        if (!colliculocale)
                                ereport(ERROR,
                                                (errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
-                                                errmsg("parameter \"locale\" must be specified")));
+                                                errmsg("parameter \"%s\" must be specified",
+                                                               "locale")));
 
                        /*
                         * During binary upgrade, preserve the locale string. Otherwise,
@@ -416,7 +419,9 @@ AlterCollation(AlterCollationStmt *stmt)
        if (collOid == DEFAULT_COLLATION_OID)
                ereport(ERROR,
                                (errmsg("cannot refresh version of default collation"),
-                                errhint("Use ALTER DATABASE ... REFRESH COLLATION VERSION instead.")));
+               /* translator: %s is an SQL command */
+                                errhint("Use %s instead.",
+                                                "ALTER DATABASE ... REFRESH COLLATION VERSION")));
 
        if (!object_ownercheck(CollationRelationId, collOid, GetUserId()))
                aclcheck_error(ACLCHECK_NOT_OWNER, OBJECT_COLLATION,
index fb48772fd5093a4fd5ac96666add5595ffa2001a..416a98e7cef017156fbcfb07701b0d94b636ed4f 100644 (file)
@@ -7996,7 +7996,9 @@ ATExecColumnDefault(Relation rel, const char *colName,
                                (errcode(ERRCODE_SYNTAX_ERROR),
                                 errmsg("column \"%s\" of relation \"%s\" is an identity column",
                                                colName, RelationGetRelationName(rel)),
-                                newDefault ? 0 : errhint("Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead.")));
+               /* translator: %s is an SQL ALTER command */
+                                newDefault ? 0 : errhint("Use %s instead.",
+                                                                                 "ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY")));
 
        if (TupleDescAttr(tupdesc, attnum - 1)->attgenerated)
                ereport(ERROR,
@@ -8004,7 +8006,9 @@ ATExecColumnDefault(Relation rel, const char *colName,
                                 errmsg("column \"%s\" of relation \"%s\" is a generated column",
                                                colName, RelationGetRelationName(rel)),
                                 newDefault || TupleDescAttr(tupdesc, attnum - 1)->attgenerated != ATTRIBUTE_GENERATED_STORED ? 0 :
-                                errhint("Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead.")));
+               /* translator: %s is an SQL ALTER command */
+                                errhint("Use %s instead.",
+                                                "ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION")));
 
        /*
         * Remove any old default for the column.  We use RESTRICT here for
@@ -14534,7 +14538,9 @@ ATExecChangeOwner(Oid relationOid, Oid newOwnerId, bool recursing, LOCKMODE lock
                                        (errcode(ERRCODE_WRONG_OBJECT_TYPE),
                                         errmsg("\"%s\" is a composite type",
                                                        NameStr(tuple_class->relname)),
-                                        errhint("Use ALTER TYPE instead.")));
+                       /* translator: %s is an SQL ALTER command */
+                                        errhint("Use %s instead.",
+                                                        "ALTER TYPE")));
                        break;
                case RELKIND_TOASTVALUE:
                        if (recursing)
@@ -17942,7 +17948,9 @@ RangeVarCallbackForAlterRelation(const RangeVar *rv, Oid relid, Oid oldrelid,
                ereport(ERROR,
                                (errcode(ERRCODE_WRONG_OBJECT_TYPE),
                                 errmsg("\"%s\" is a composite type", rv->relname),
-                                errhint("Use ALTER TYPE instead.")));
+               /* translator: %s is an SQL ALTER command */
+                                errhint("Use %s instead.",
+                                                "ALTER TYPE")));
 
        /*
         * Don't allow ALTER TABLE .. SET SCHEMA on relations that can't be moved
@@ -17961,7 +17969,9 @@ RangeVarCallbackForAlterRelation(const RangeVar *rv, Oid relid, Oid oldrelid,
                                        (errcode(ERRCODE_WRONG_OBJECT_TYPE),
                                         errmsg("cannot change schema of composite type \"%s\"",
                                                        rv->relname),
-                                        errhint("Use ALTER TYPE instead.")));
+                       /* translator: %s is an SQL ALTER command */
+                                        errhint("Use %s instead.",
+                                                        "ALTER TYPE")));
                else if (relkind == RELKIND_TOASTVALUE)
                        ereport(ERROR,
                                        (errcode(ERRCODE_WRONG_OBJECT_TYPE),
index 5e97606793d2004df5948cab441383a62ed80d8d..aaf9728697b7978a5b8e4e5b949d5b1785bf47fe 100644 (file)
@@ -3633,7 +3633,9 @@ RenameType(RenameStmt *stmt)
                                (errcode(ERRCODE_WRONG_OBJECT_TYPE),
                                 errmsg("%s is a table's row type",
                                                format_type_be(typeOid)),
-                                errhint("Use ALTER TABLE instead.")));
+               /* translator: %s is an SQL ALTER command */
+                                errhint("Use %s instead.",
+                                                "ALTER TABLE")));
 
        /* don't allow direct alteration of array types, either */
        if (IsTrueArrayType(typTup))
@@ -3714,7 +3716,9 @@ AlterTypeOwner(List *names, Oid newOwnerId, ObjectType objecttype)
                                (errcode(ERRCODE_WRONG_OBJECT_TYPE),
                                 errmsg("%s is a table's row type",
                                                format_type_be(typeOid)),
-                                errhint("Use ALTER TABLE instead.")));
+               /* translator: %s is an SQL ALTER command */
+                                errhint("Use %s instead.",
+                                                "ALTER TABLE")));
 
        /* don't allow direct alteration of array types, either */
        if (IsTrueArrayType(typTup))
@@ -4005,7 +4009,9 @@ AlterTypeNamespaceInternal(Oid typeOid, Oid nspOid,
                                (errcode(ERRCODE_WRONG_OBJECT_TYPE),
                                 errmsg("%s is a table's row type",
                                                format_type_be(typeOid)),
-                                errhint("Use ALTER TABLE instead.")));
+               /* translator: %s is an SQL ALTER command */
+                                errhint("Use %s instead.",
+                                                "ALTER TABLE")));
 
        if (oldNspOid != nspOid)
        {