diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-06-14 18:04:34 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-06-14 18:04:34 +0000 |
commit | 0cefb50f3ce964d6097aad64dabd9b544c3d2e68 (patch) | |
tree | 4e1ee9454bc958d35194062eee8894205cd08da5 /src/backend/commands/view.c | |
parent | 95ce4ee943f226152ac8c147da178af5d1a95909 (diff) | |
download | postgresql-0cefb50f3ce964d6097aad64dabd9b544c3d2e68.tar.gz postgresql-0cefb50f3ce964d6097aad64dabd9b544c3d2e68.zip |
Refactor the handling of the various DropStmt variants so that when multiple
objects are specified, we drop them all in a single performMultipleDeletions
call. This makes the RESTRICT/CASCADE checks more relaxed: it's not counted
as a cascade if one of the later objects has a dependency on an earlier one.
NOTICE messages about such cases go away, too.
In passing, fix the permissions check for DROP CONVERSION, which for some
reason was never made role-aware, and omitted the namespace-owner exemption
too.
Alex Hunsaker, with further fiddling by me.
Diffstat (limited to 'src/backend/commands/view.c')
-rw-r--r-- | src/backend/commands/view.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/backend/commands/view.c b/src/backend/commands/view.c index 0a2e3a6e465..8814cf8dc1b 100644 --- a/src/backend/commands/view.c +++ b/src/backend/commands/view.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/view.c,v 1.104 2008/01/01 19:45:49 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/view.c,v 1.105 2008/06/14 18:04:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -16,7 +16,6 @@ #include "access/heapam.h" #include "access/xact.h" -#include "catalog/dependency.h" #include "catalog/namespace.h" #include "commands/defrem.h" #include "commands/tablecmds.h" @@ -446,26 +445,3 @@ DefineView(ViewStmt *stmt, const char *queryString) */ DefineViewRules(viewOid, viewParse, stmt->replace); } - -/* - * RemoveView - * - * Remove a view given its name - * - * We just have to drop the relation; the associated rules will be - * cleaned up automatically. - */ -void -RemoveView(const RangeVar *view, DropBehavior behavior) -{ - Oid viewOid; - ObjectAddress object; - - viewOid = RangeVarGetRelid(view, false); - - object.classId = RelationRelationId; - object.objectId = viewOid; - object.objectSubId = 0; - - performDeletion(&object, behavior); -} |