]> granicus.if.org Git - postgresql/commitdiff
REASSIGN OWNED: consider grants on tablespaces, too
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 3 Oct 2012 15:22:41 +0000 (12:22 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 3 Oct 2012 15:28:17 +0000 (12:28 -0300)
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

index 8aa9a6f6fa60f0b521cafbd45b0e1ab04ba2caf7..02e8d7c62e55c48470e9443bff6d4d60716f178b 100644 (file)
@@ -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)