From b83ba2e6e7060fd8c37bd57e660b2ad64a1a9cd6 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 8 Jan 2020 10:36:52 +0900 Subject: [PATCH] Revert "Forbid DROP SCHEMA on temporary namespaces" 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 | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/backend/commands/dropcmds.c b/src/backend/commands/dropcmds.c index cb0227661de..e64ad8027e2 100644 --- a/src/backend/commands/dropcmds.c +++ b/src/backend/commands/dropcmds.c @@ -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) ||