From: Michael Paquier Date: Wed, 8 Jan 2020 01:36:40 +0000 (+0900) Subject: Revert "Forbid DROP SCHEMA on temporary namespaces" X-Git-Tag: REL9_6_17~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50174b70e779613479006bab944340706de51795;p=thirdparty%2Fpostgresql.git 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 --- diff --git a/src/backend/commands/dropcmds.c b/src/backend/commands/dropcmds.c index d47cd2a589b..61ff8f2190d 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) ||