diff options
Diffstat (limited to 'src/backend/commands')
-rw-r--r-- | src/backend/commands/alter.c | 81 |
1 files changed, 3 insertions, 78 deletions
diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c index 1a120a93882..20360fd60a4 100644 --- a/src/backend/commands/alter.c +++ b/src/backend/commands/alter.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/alter.c,v 1.16 2006/02/11 22:17:18 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/alter.c,v 1.17 2006/02/12 19:11:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -16,10 +16,8 @@ #include "access/htup.h" #include "catalog/catalog.h" -#include "catalog/dependency.h" #include "catalog/namespace.h" #include "catalog/pg_class.h" -#include "catalog/pg_constraint.h" #include "commands/alter.h" #include "commands/conversioncmds.h" #include "commands/dbcommands.h" @@ -90,7 +88,6 @@ ExecRenameStmt(RenameStmt *stmt) case OBJECT_INDEX: case OBJECT_COLUMN: case OBJECT_TRIGGER: - case OBJECT_CONSTRAINT: { Oid relid; @@ -112,38 +109,12 @@ ExecRenameStmt(RenameStmt *stmt) AclResult aclresult; aclresult = pg_namespace_aclcheck(namespaceId, - GetUserId(), ACL_CREATE); + GetUserId(), + ACL_CREATE); if (aclresult != ACLCHECK_OK) aclcheck_error(aclresult, ACL_KIND_NAMESPACE, get_namespace_name(namespaceId)); - /* - * Do NOT refer to stmt->renameType here because - * you can also rename an index with ALTER TABLE - */ - if (get_rel_relkind(relid) == RELKIND_INDEX) - { - /* see if we depend on a constraint */ - List* depOids = getDependentOids( - RelationRelationId, relid, - ConstraintRelationId, - DEPENDENCY_INTERNAL); - - /* there should only be one constraint */ - Assert(list_length(depOids) <= 1); - if (list_length(depOids) == 1) - { - Oid conRelId = linitial_oid(depOids); - /* - * Apply the same name to the - * constraint and tell it that this - * is an implicit rename triggered - * by an "ALTER INDEX" command. - */ - RenameConstraint(conRelId, - stmt->newname, true, "ALTER INDEX"); - } - } renamerel(relid, stmt->newname); break; } @@ -159,52 +130,6 @@ ExecRenameStmt(RenameStmt *stmt) stmt->subname, /* old att name */ stmt->newname); /* new att name */ break; - case OBJECT_CONSTRAINT: - /* XXX could do extra function renameconstr() - but I - * don't know where it should go */ - /* renameconstr(relid, - stmt->subname, - stmt->newname); */ - { - List *depRelOids; - ListCell *l; - Oid conId = - GetRelationConstraintOid(relid, - stmt->subname); - if (!OidIsValid(conId)) { - ereport(ERROR, - (errcode(ERRCODE_UNDEFINED_OBJECT), - errmsg("constraint with name \"%s\" " - "does not exist", - stmt->subname))); - } - RenameConstraint(conId, stmt->newname, - false, NULL); - depRelOids = getReferencingOids( - ConstraintRelationId, conId, 0, - RelationRelationId, - DEPENDENCY_INTERNAL); - foreach(l, depRelOids) - { - Oid depRelOid; - Oid nspOid; - depRelOid = lfirst_oid(l); - nspOid = get_rel_namespace(depRelOid); - if (get_rel_relkind(depRelOid) == RELKIND_INDEX) - { - ereport(NOTICE, - (errmsg("ALTER TABLE / CONSTRAINT will implicitly rename index " - "\"%s\" to \"%s\" on table \"%s.%s\"", - get_rel_name(depRelOid), - stmt->newname, - get_namespace_name(nspOid), - get_rel_name(relid)))); - renamerel(depRelOid, stmt->newname); - } - } - } - break; - default: /* can't happen */ ; } |