]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Revert "Forbid DROP SCHEMA on temporary namespaces"
authorMichael Paquier <michael@paquier.xyz>
Wed, 8 Jan 2020 01:36:52 +0000 (10:36 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 8 Jan 2020 01:36:52 +0000 (10:36 +0900)
This reverts commit a052f6c, following complains from Robert Haas and
Tom Lane.  Backpatch down to 9.4, like the previous commit.

Discussion: https://postgr.es/m/CA+TgmobL4npEX5=E5h=5Jm_9mZun3MT39Kq2suJFVeamc9skSQ@mail.gmail.com
Backpatch-through: 9.4

src/backend/commands/dropcmds.c

index cb0227661deef58b48f1a4e2b49844b64e3c7323..e64ad8027e22f9455063b6b9b87b74edee9109ba 100644 (file)
@@ -26,7 +26,6 @@
 #include "nodes/makefuncs.h"
 #include "parser/parse_type.h"
 #include "utils/builtins.h"
-#include "utils/lsyscache.h"
 #include "utils/syscache.h"
 
 
@@ -117,21 +116,6 @@ RemoveObjects(DropStmt *stmt)
                        ReleaseSysCache(tup);
                }
 
-               /*
-                * Prevent the drop of a temporary schema, be it owned by the current
-                * session or another backend as this would mess up with the callback
-                * registered to clean up temporary objects at the end of a session.
-                * Note also that the creation of any follow-up temporary object would
-                * result in inconsistencies within the session whose temporary schema
-                * has been dropped.
-                */
-               if (stmt->removeType == OBJECT_SCHEMA &&
-                       isAnyTempNamespace(address.objectId))
-                       ereport(ERROR,
-                                       (errcode(ERRCODE_WRONG_OBJECT_TYPE),
-                                        errmsg("cannot drop temporary schema \"%s\"",
-                                                       get_namespace_name(address.objectId))));
-
                /* Check permissions. */
                namespaceId = get_object_namespace(&address);
                if (!OidIsValid(namespaceId) ||