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)
    {