From 3a937bf72f25c5c5f1ed6588a2ccf4be250306dc Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 3 Oct 2012 12:22:41 -0300 Subject: [PATCH] REASSIGN OWNED: consider grants on tablespaces, too Apparently this was considered in the original code (see commit cec3b0a9) but I failed to notice that such entries would always be skipped by the database check at the start of the loop. Per bugs #7578 by Nikolay, #6116 by tushar.qa@gmail.com. --- src/backend/catalog/pg_shdepend.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backend/catalog/pg_shdepend.c b/src/backend/catalog/pg_shdepend.c index 8aa9a6f6fa6..02e8d7c62e5 100644 --- a/src/backend/catalog/pg_shdepend.c +++ b/src/backend/catalog/pg_shdepend.c @@ -1185,8 +1185,12 @@ shdepDropOwned(List *roleids, DropBehavior behavior) InternalGrant istmt; ObjectAddress obj; - /* We only operate on objects in the current database */ - if (sdepForm->dbid != MyDatabaseId) + /* + * We only operate on shared objects and objects in the current + * database + */ + if (sdepForm->dbid != MyDatabaseId && + sdepForm->dbid != InvalidOid) continue; switch (sdepForm->deptype)