mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
Fix some omissions in the dependency-object-class support for SQL/MED objects.
Main problem found by Muhammad Aqeel, some cosmetic additions by me.
This commit is contained in:
parent
5d34af421d
commit
b1114f5576
@ -8,7 +8,7 @@
|
|||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.89 2009/06/11 14:48:54 momjian Exp $
|
* $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.90 2009/08/07 15:27:56 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -143,7 +143,10 @@ static const Oid object_classes[MAX_OCLASS] = {
|
|||||||
TSConfigRelationId, /* OCLASS_TSCONFIG */
|
TSConfigRelationId, /* OCLASS_TSCONFIG */
|
||||||
AuthIdRelationId, /* OCLASS_ROLE */
|
AuthIdRelationId, /* OCLASS_ROLE */
|
||||||
DatabaseRelationId, /* OCLASS_DATABASE */
|
DatabaseRelationId, /* OCLASS_DATABASE */
|
||||||
TableSpaceRelationId /* OCLASS_TBLSPACE */
|
TableSpaceRelationId, /* OCLASS_TBLSPACE */
|
||||||
|
ForeignDataWrapperRelationId, /* OCLASS_FDW */
|
||||||
|
ForeignServerRelationId, /* OCLASS_FOREIGN_SERVER */
|
||||||
|
UserMappingRelationId /* OCLASS_USER_MAPPING */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1115,20 +1118,23 @@ doDeletion(const ObjectAddress *object)
|
|||||||
RemoveTSConfigurationById(object->objectId);
|
RemoveTSConfigurationById(object->objectId);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OCLASS_USER_MAPPING:
|
/*
|
||||||
RemoveUserMappingById(object->objectId);
|
* OCLASS_ROLE, OCLASS_DATABASE, OCLASS_TBLSPACE intentionally
|
||||||
|
* not handled here
|
||||||
|
*/
|
||||||
|
|
||||||
|
case OCLASS_FDW:
|
||||||
|
RemoveForeignDataWrapperById(object->objectId);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OCLASS_FOREIGN_SERVER:
|
case OCLASS_FOREIGN_SERVER:
|
||||||
RemoveForeignServerById(object->objectId);
|
RemoveForeignServerById(object->objectId);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OCLASS_FDW:
|
case OCLASS_USER_MAPPING:
|
||||||
RemoveForeignDataWrapperById(object->objectId);
|
RemoveUserMappingById(object->objectId);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* OCLASS_ROLE, OCLASS_DATABASE, OCLASS_TBLSPACE not handled */
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
elog(ERROR, "unrecognized object class: %u",
|
elog(ERROR, "unrecognized object class: %u",
|
||||||
object->classId);
|
object->classId);
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.295 2009/08/02 22:14:52 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.296 2009/08/07 15:27:56 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -6037,12 +6037,20 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel,
|
|||||||
case OCLASS_OPERATOR:
|
case OCLASS_OPERATOR:
|
||||||
case OCLASS_OPCLASS:
|
case OCLASS_OPCLASS:
|
||||||
case OCLASS_OPFAMILY:
|
case OCLASS_OPFAMILY:
|
||||||
|
case OCLASS_AMOP:
|
||||||
|
case OCLASS_AMPROC:
|
||||||
case OCLASS_TRIGGER:
|
case OCLASS_TRIGGER:
|
||||||
case OCLASS_SCHEMA:
|
case OCLASS_SCHEMA:
|
||||||
case OCLASS_TSPARSER:
|
case OCLASS_TSPARSER:
|
||||||
case OCLASS_TSDICT:
|
case OCLASS_TSDICT:
|
||||||
case OCLASS_TSTEMPLATE:
|
case OCLASS_TSTEMPLATE:
|
||||||
case OCLASS_TSCONFIG:
|
case OCLASS_TSCONFIG:
|
||||||
|
case OCLASS_ROLE:
|
||||||
|
case OCLASS_DATABASE:
|
||||||
|
case OCLASS_TBLSPACE:
|
||||||
|
case OCLASS_FDW:
|
||||||
|
case OCLASS_FOREIGN_SERVER:
|
||||||
|
case OCLASS_USER_MAPPING:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We don't expect any of these sorts of objects to depend on
|
* We don't expect any of these sorts of objects to depend on
|
||||||
|
Loading…
x
Reference in New Issue
Block a user