Clean up overly complex code for issuing some related error messages.
The original version was unreadable, and not mechanically checkable either.
This commit is contained in:
parent
11745364d0
commit
9a8b73147c
@ -3944,21 +3944,32 @@ 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");
|
||||
else if (origRelation->rd_rel->relkind == RELKIND_FOREIGN_TABLE)
|
||||
msg = gettext_noop("cannot alter foreign table \"%s\" because column \"%s\".\"%s\" uses its rowtype");
|
||||
else
|
||||
msg = gettext_noop("cannot alter table \"%s\" because column \"%s\".\"%s\" uses its rowtype");
|
||||
|
||||
if (origTypeName)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg(msg,
|
||||
origTypeName ? origTypeName
|
||||
: RelationGetRelationName(origRelation),
|
||||
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)
|
||||
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
|
||||
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))));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user