Skip to content

Commit b1114f5

Browse files
committed
Fix some omissions in the dependency-object-class support for SQL/MED objects.
Main problem found by Muhammad Aqeel, some cosmetic additions by me.
1 parent 5d34af4 commit b1114f5

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

src/backend/catalog/dependency.c

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.89 2009/06/11 14:48:54 momjian Exp $
11+
* $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.90 2009/08/07 15:27:56 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -143,7 +143,10 @@ static const Oid object_classes[MAX_OCLASS] = {
143143
TSConfigRelationId, /* OCLASS_TSCONFIG */
144144
AuthIdRelationId, /* OCLASS_ROLE */
145145
DatabaseRelationId, /* OCLASS_DATABASE */
146-
TableSpaceRelationId /* OCLASS_TBLSPACE */
146+
TableSpaceRelationId, /* OCLASS_TBLSPACE */
147+
ForeignDataWrapperRelationId, /* OCLASS_FDW */
148+
ForeignServerRelationId, /* OCLASS_FOREIGN_SERVER */
149+
UserMappingRelationId /* OCLASS_USER_MAPPING */
147150
};
148151

149152

@@ -1115,20 +1118,23 @@ doDeletion(const ObjectAddress *object)
11151118
RemoveTSConfigurationById(object->objectId);
11161119
break;
11171120

1118-
case OCLASS_USER_MAPPING:
1119-
RemoveUserMappingById(object->objectId);
1121+
/*
1122+
* OCLASS_ROLE, OCLASS_DATABASE, OCLASS_TBLSPACE intentionally
1123+
* not handled here
1124+
*/
1125+
1126+
case OCLASS_FDW:
1127+
RemoveForeignDataWrapperById(object->objectId);
11201128
break;
11211129

11221130
case OCLASS_FOREIGN_SERVER:
11231131
RemoveForeignServerById(object->objectId);
11241132
break;
11251133

1126-
case OCLASS_FDW:
1127-
RemoveForeignDataWrapperById(object->objectId);
1134+
case OCLASS_USER_MAPPING:
1135+
RemoveUserMappingById(object->objectId);
11281136
break;
11291137

1130-
/* OCLASS_ROLE, OCLASS_DATABASE, OCLASS_TBLSPACE not handled */
1131-
11321138
default:
11331139
elog(ERROR, "unrecognized object class: %u",
11341140
object->classId);

src/backend/commands/tablecmds.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.295 2009/08/02 22:14:52 tgl Exp $
11+
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.296 2009/08/07 15:27:56 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -6037,12 +6037,20 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel,
60376037
case OCLASS_OPERATOR:
60386038
case OCLASS_OPCLASS:
60396039
case OCLASS_OPFAMILY:
6040+
case OCLASS_AMOP:
6041+
case OCLASS_AMPROC:
60406042
case OCLASS_TRIGGER:
60416043
case OCLASS_SCHEMA:
60426044
case OCLASS_TSPARSER:
60436045
case OCLASS_TSDICT:
60446046
case OCLASS_TSTEMPLATE:
60456047
case OCLASS_TSCONFIG:
6048+
case OCLASS_ROLE:
6049+
case OCLASS_DATABASE:
6050+
case OCLASS_TBLSPACE:
6051+
case OCLASS_FDW:
6052+
case OCLASS_FOREIGN_SERVER:
6053+
case OCLASS_USER_MAPPING:
60466054

60476055
/*
60486056
* We don't expect any of these sorts of objects to depend on

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy