From: Michael Paquier Date: Wed, 8 Jan 2020 01:36:52 +0000 (+0900) Subject: Revert "Forbid DROP SCHEMA on temporary namespaces" X-Git-Tag: REL9_4_26~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b83ba2e6e7060fd8c37bd57e660b2ad64a1a9cd6;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 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) ||