postgres.git / summary / log / commit / refs

commit    9a8b73147c07e02e10e0d0a34aa99d72e3336fb2
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Tue Mar 29 21:54:27 2011 +0000

    Clean up overly complex code for issuing some related error messages.
    
    The original version was unreadable, and not mechanically checkable
    either.


src/backend/commands/tablecmds.c | 41 +++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index bd18db3b831..886b656b437 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -3944,23 +3944,34 @@ find_composite_type_dependencies(Oid typeOid, Relation origRelation, if (rel->rd_rel->relkind == RELKIND_RELATION) { - const char *msg; - - if (origTypeName - || origRelation->rd_rel->relkind == RELKIND_COMPOSITE_TYPE) - msg = gettext_noop("cannot alter type \"%s\" because column \"%s\".\"%s\" uses it"); + if (origTypeName) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter type \"%s\" because column \"%s\".\"%s\" uses it", + origTypeName, + RelationGetRelationName(rel), + NameStr(att->attname)))); + else if (origRelation->rd_rel->relkind == RELKIND_COMPOSITE_TYPE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter type \"%s\" because column \"%s\".\"%s\" uses it", + RelationGetRelationName(origRelation), + RelationGetRelationName(rel), + NameStr(att->attname)))); else if (origRelation->rd_rel->relkind == RELKIND_FOREIGN_TABLE) - msg = gettext_noop("cannot alter foreign table \"%s\" because column \"%s\".\"%s\" uses its rowtype"); + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter foreign table \"%s\" because column \"%s\".\"%s\" uses its rowtype", + RelationGetRelationName(origRelation), + RelationGetRelationName(rel), + NameStr(att->attname)))); else - msg = gettext_noop("cannot alter table \"%s\" because column \"%s\".\"%s\" uses its rowtype"); - - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg(msg, - origTypeName ? origTypeName - : RelationGetRelationName(origRelation), - RelationGetRelationName(rel), - NameStr(att->attname)))); + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter table \"%s\" because column \"%s\".\"%s\" uses its rowtype", + RelationGetRelationName(origRelation), + RelationGetRelationName(rel), + NameStr(att->attname)))); } else if (OidIsValid(rel->rd_rel->reltype)) { [parent: 11745364d074]