Use format_type_be() instead of TypeNameToString() for some more user-facing
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 21 Oct 2008 10:38:51 +0000 (10:38 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 21 Oct 2008 10:38:51 +0000 (10:38 +0000)
error messages where the type existence is established.

src/backend/commands/comment.c
src/backend/commands/functioncmds.c
src/backend/commands/tablecmds.c
src/backend/commands/typecmds.c
src/test/regress/expected/alter_table.out

index b87d7d54eec2c81c074d1e6138f03a045c310694..7172b8638c1c9a4752c39b156a66b8f4a365e755 100644 (file)
@@ -7,7 +7,7 @@
  * Copyright (c) 1996-2008, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/commands/comment.c,v 1.103 2008/06/19 00:46:04 alvherre Exp $
+ *   $PostgreSQL: pgsql/src/backend/commands/comment.c,v 1.104 2008/10/21 10:38:51 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -882,7 +882,7 @@ CommentType(List *typename, char *comment)
 
    if (!pg_type_ownercheck(oid, GetUserId()))
        aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_TYPE,
-                      TypeNameToString(tname));
+                      format_type_be(oid));
 
    /* Call CreateComments() to create/drop the comments */
    CreateComments(oid, TypeRelationId, 0, comment);
@@ -1464,8 +1464,8 @@ CommentCast(List *qualname, List *arguments, char *comment)
        ereport(ERROR,
                (errcode(ERRCODE_UNDEFINED_OBJECT),
                 errmsg("cast from type %s to type %s does not exist",
-                       TypeNameToString(sourcetype),
-                       TypeNameToString(targettype))));
+                       format_type_be(sourcetypeid),
+                       format_type_be(targettypeid))));
 
    /* Get the OID of the cast */
    castOid = HeapTupleGetOid(tuple);
@@ -1476,8 +1476,8 @@ CommentCast(List *qualname, List *arguments, char *comment)
        ereport(ERROR,
                (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
                 errmsg("must be owner of type %s or type %s",
-                       TypeNameToString(sourcetype),
-                       TypeNameToString(targettype))));
+                       format_type_be(sourcetypeid),
+                       format_type_be(targettypeid))));
 
    ReleaseSysCache(tuple);
 
index 2b3723d6445eee3b84e96bf7cacae5ed07078f78..12762b8aaabf56d9a9010904effaedbe462e9ada 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.98 2008/07/18 03:32:52 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.99 2008/10/21 10:38:51 petere Exp $
  *
  * DESCRIPTION
  *   These routines take the parse tree and pick out the
@@ -1412,8 +1412,8 @@ CreateCast(CreateCastStmt *stmt)
        ereport(ERROR,
                (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
                 errmsg("must be owner of type %s or type %s",
-                       TypeNameToString(stmt->sourcetype),
-                       TypeNameToString(stmt->targettype))));
+                       format_type_be(sourcetypeid),
+                       format_type_be(targettypeid))));
 
    if (stmt->func != NULL)
    {
@@ -1554,8 +1554,8 @@ CreateCast(CreateCastStmt *stmt)
        ereport(ERROR,
                (errcode(ERRCODE_DUPLICATE_OBJECT),
                 errmsg("cast from type %s to type %s already exists",
-                       TypeNameToString(stmt->sourcetype),
-                       TypeNameToString(stmt->targettype))));
+                       format_type_be(sourcetypeid),
+                       format_type_be(targettypeid))));
 
    /* ready to go */
    values[Anum_pg_cast_castsource - 1] = ObjectIdGetDatum(sourcetypeid);
@@ -1629,13 +1629,13 @@ DropCast(DropCastStmt *stmt)
            ereport(ERROR,
                    (errcode(ERRCODE_UNDEFINED_OBJECT),
                     errmsg("cast from type %s to type %s does not exist",
-                           TypeNameToString(stmt->sourcetype),
-                           TypeNameToString(stmt->targettype))));
+                           format_type_be(sourcetypeid),
+                           format_type_be(targettypeid))));
        else
            ereport(NOTICE,
             (errmsg("cast from type %s to type %s does not exist, skipping",
-                    TypeNameToString(stmt->sourcetype),
-                    TypeNameToString(stmt->targettype))));
+                    format_type_be(sourcetypeid),
+                    format_type_be(targettypeid))));
 
        return;
    }
@@ -1646,8 +1646,8 @@ DropCast(DropCastStmt *stmt)
        ereport(ERROR,
                (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
                 errmsg("must be owner of type %s or type %s",
-                       TypeNameToString(stmt->sourcetype),
-                       TypeNameToString(stmt->targettype))));
+                       format_type_be(sourcetypeid),
+                       format_type_be(targettypeid))));
 
    /*
     * Do the deletion
index 3c7bc2a56b973297ad38d84470a24998b129ef98..94705aef285fa7eb86ea3af1488f6a839a2adad7 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.267 2008/10/07 11:15:41 heikki Exp $
+ *   $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.268 2008/10/21 10:38:51 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -5520,8 +5520,8 @@ ATPrepAlterColumnType(List **wqueue,
    if (transform == NULL)
        ereport(ERROR,
                (errcode(ERRCODE_DATATYPE_MISMATCH),
-                errmsg("column \"%s\" cannot be cast to type \"%s\"",
-                       colName, TypeNameToString(typename))));
+                errmsg("column \"%s\" cannot be cast to type %s",
+                       colName, format_type_be(targettype))));
 
    /*
     * Add a work queue item to make ATRewriteTable update the column
@@ -5619,8 +5619,8 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel,
        if (defaultexpr == NULL)
            ereport(ERROR,
                    (errcode(ERRCODE_DATATYPE_MISMATCH),
-           errmsg("default for column \"%s\" cannot be cast to type \"%s\"",
-                  colName, TypeNameToString(typename))));
+           errmsg("default for column \"%s\" cannot be cast to type %s",
+                  colName, format_type_be(targettype))));
    }
    else
        defaultexpr = NULL;
index 3e573bc3943083c6287e47870218cbbcdc8f99bd..f985df6298b46666e5618ce2df1a40272040906c 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/commands/typecmds.c,v 1.124 2008/09/25 03:28:56 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/commands/typecmds.c,v 1.125 2008/10/21 10:38:51 petere Exp $
  *
  * DESCRIPTION
  *   The "DefineFoo" routines take the parse tree and pick out the
@@ -581,7 +581,7 @@ RemoveTypes(DropStmt *drop)
        if (!pg_type_ownercheck(typeoid, GetUserId()) &&
            !pg_namespace_ownercheck(typ->typnamespace, GetUserId()))
            aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_TYPE,
-                          TypeNameToString(typename));
+                          format_type_be(typeoid));
 
        if (drop->removeType == OBJECT_DOMAIN)
        {
@@ -2082,7 +2082,7 @@ checkDomainOwner(HeapTuple tup, TypeName *typename)
    /* Permission check: must own type */
    if (!pg_type_ownercheck(HeapTupleGetOid(tup), GetUserId()))
        aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_TYPE,
-                      TypeNameToString(typename));
+                      format_type_be(HeapTupleGetOid(tup)));
 }
 
 /*
@@ -2487,7 +2487,7 @@ AlterTypeOwner(List *names, Oid newOwnerId)
            /* Otherwise, must be owner of the existing object */
            if (!pg_type_ownercheck(HeapTupleGetOid(tup), GetUserId()))
                aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_TYPE,
-                              TypeNameToString(typename));
+                              format_type_be(HeapTupleGetOid(tup)));
 
            /* Must be able to become new owner */
            check_is_member_of_role(GetUserId(), newOwnerId);
index 15179540a2d9179c283c5cf0caebe2a8a2fabf7d..388e25e9dbad9dec8c293b2713c37e79ed87c0b5 100644 (file)
@@ -1301,7 +1301,7 @@ select f3,max(f1) from foo group by f3;
 
 -- Simple tests for alter table column type
 alter table foo alter f1 TYPE integer; -- fails
-ERROR:  column "f1" cannot be cast to type "pg_catalog.int4"
+ERROR:  column "f1" cannot be cast to type integer
 alter table foo alter f1 TYPE varchar(10);
 create table anothertab (atcol1 serial8, atcol2 boolean,
    constraint anothertab_chk check (atcol1 <= 3));
@@ -1316,7 +1316,7 @@ select * from anothertab;
 (2 rows)
 
 alter table anothertab alter column atcol1 type boolean; -- fails
-ERROR:  column "atcol1" cannot be cast to type "pg_catalog.bool"
+ERROR:  column "atcol1" cannot be cast to type boolean
 alter table anothertab alter column atcol1 type integer;
 select * from anothertab;
  atcol1 | atcol2 
@@ -1350,7 +1350,7 @@ select * from anothertab;
 
 alter table anothertab alter column atcol1 type boolean
         using case when atcol1 % 2 = 0 then true else false end; -- fails
-ERROR:  default for column "atcol1" cannot be cast to type "pg_catalog.bool"
+ERROR:  default for column "atcol1" cannot be cast to type boolean
 alter table anothertab alter column atcol1 drop default;
 alter table anothertab alter column atcol1 type boolean
         using case when atcol1 % 2 = 0 then true else false end; -- fails