diff options
Diffstat (limited to 'src/backend/tcop/utility.c')
-rw-r--r-- | src/backend/tcop/utility.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 63e6b5dd9b2..24a1e3d2964 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.149 2002/04/15 05:22:04 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.150 2002/04/18 20:01:09 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -312,11 +312,6 @@ ProcessUtility(Node *parsetree, RemoveIndex(rel); break; - case DROP_RULE: - /* RemoveRewriteRule checks permissions */ - RemoveRewriteRule(names); - break; - case DROP_TYPE: /* RemoveType does its own permissions checks */ RemoveType(names); @@ -714,12 +709,24 @@ ProcessUtility(Node *parsetree, CreateTrigger((CreateTrigStmt *) parsetree); break; - case T_DropTrigStmt: + case T_DropPropertyStmt: { - DropTrigStmt *stmt = (DropTrigStmt *) parsetree; + DropPropertyStmt *stmt = (DropPropertyStmt *) parsetree; + Oid relId; - DropTrigger(RangeVarGetRelid(stmt->relation, false), - stmt->trigname); + relId = RangeVarGetRelid(stmt->relation, false); + + switch (stmt->removeType) + { + case DROP_RULE: + /* RemoveRewriteRule checks permissions */ + RemoveRewriteRule(relId, stmt->property); + break; + case DROP_TRIGGER: + /* DropTrigger checks permissions */ + DropTrigger(relId, stmt->property); + break; + } } break; |