diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2012-10-03 12:22:41 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2012-10-03 12:30:00 -0300 |
commit | fe3b5eb08a16c391478e305bd9ea40f4f5979689 (patch) | |
tree | c2b03ee3ffcce280590f92e69004d418813711c5 /src | |
parent | e1be1df51facd3c25317c809fd72ecac8b93b4e7 (diff) | |
download | postgresql-fe3b5eb08a16c391478e305bd9ea40f4f5979689.tar.gz postgresql-fe3b5eb08a16c391478e305bd9ea40f4f5979689.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/catalog/pg_shdepend.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/catalog/pg_shdepend.c b/src/backend/catalog/pg_shdepend.c index 5a73b48ea76..55637175356 100644 --- a/src/backend/catalog/pg_shdepend.c +++ b/src/backend/catalog/pg_shdepend.c @@ -1217,8 +1217,12 @@ shdepDropOwned(List *roleids, DropBehavior behavior) Form_pg_shdepend sdepForm = (Form_pg_shdepend) GETSTRUCT(tuple); 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) |