Skip to content

Commit 7788b76

Browse files
committed
Improve wording for privilege description on certain failure messages; the
original misleadingly suggests that only access is meant, causing confusion. Per recent trouble report by Robert McGehee on pgsql-admin.
1 parent 3a1b51d commit 7788b76

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/backend/catalog/pg_shdepend.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/catalog/pg_shdepend.c,v 1.44 2010/07/28 05:22:24 sriggs Exp $
11+
* $PostgreSQL: pgsql/src/backend/catalog/pg_shdepend.c,v 1.45 2010/08/26 19:49:08 alvherre Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -1067,7 +1067,7 @@ storeObjectDescription(StringInfo descs, objectType type,
10671067
if (deptype == SHARED_DEPENDENCY_OWNER)
10681068
appendStringInfo(descs, _("owner of %s"), objdesc);
10691069
else if (deptype == SHARED_DEPENDENCY_ACL)
1070-
appendStringInfo(descs, _("access to %s"), objdesc);
1070+
appendStringInfo(descs, _("privileges for %s"), objdesc);
10711071
else
10721072
elog(ERROR, "unrecognized dependency type: %d",
10731073
(int) deptype);

src/test/regress/expected/dependency.out

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ GRANT ALL ON TABLE deptest TO regression_user, regression_user2;
1313
-- can't drop neither because they have privileges somewhere
1414
DROP USER regression_user;
1515
ERROR: role "regression_user" cannot be dropped because some objects depend on it
16-
DETAIL: access to table deptest
16+
DETAIL: privileges for table deptest
1717
DROP GROUP regression_group;
1818
ERROR: role "regression_group" cannot be dropped because some objects depend on it
19-
DETAIL: access to table deptest
19+
DETAIL: privileges for table deptest
2020
-- if we revoke the privileges we can drop the group
2121
REVOKE SELECT ON deptest FROM GROUP regression_group;
2222
DROP GROUP regression_group;
2323
-- can't drop the user if we revoke the privileges partially
2424
REVOKE SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES ON deptest FROM regression_user;
2525
DROP USER regression_user;
2626
ERROR: role "regression_user" cannot be dropped because some objects depend on it
27-
DETAIL: access to table deptest
27+
DETAIL: privileges for table deptest
2828
-- now we are OK to drop him
2929
REVOKE TRIGGER ON deptest FROM regression_user;
3030
DROP USER regression_user;
@@ -110,7 +110,7 @@ REASSIGN OWNED BY regression_user1 TO regression_user2;
110110
-- doesn't work: grant still exists
111111
DROP USER regression_user1;
112112
ERROR: role "regression_user1" cannot be dropped because some objects depend on it
113-
DETAIL: access to table deptest1
113+
DETAIL: privileges for table deptest1
114114
DROP OWNED BY regression_user1;
115115
DROP USER regression_user1;
116116
\set VERBOSITY terse

src/test/regress/expected/foreign_data.out

+4-4
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ RESET ROLE;
412412
DROP ROLE regress_test_indirect; -- ERROR
413413
ERROR: role "regress_test_indirect" cannot be dropped because some objects depend on it
414414
DETAIL: owner of server s1
415-
access to foreign-data wrapper foo
415+
privileges for foreign-data wrapper foo
416416
\des+
417417
List of foreign servers
418418
Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | Options
@@ -941,8 +941,8 @@ RESET ROLE;
941941
-- Cleanup
942942
DROP ROLE regress_test_role; -- ERROR
943943
ERROR: role "regress_test_role" cannot be dropped because some objects depend on it
944-
DETAIL: access to server s4
945-
access to foreign-data wrapper foo
944+
DETAIL: privileges for server s4
945+
privileges for foreign-data wrapper foo
946946
owner of user mapping for regress_test_role
947947
owner of user mapping for regress_test_role
948948
owner of server s5
@@ -968,7 +968,7 @@ DROP ROLE regress_test_indirect;
968968
DROP ROLE regress_test_role;
969969
DROP ROLE unprivileged_role; -- ERROR
970970
ERROR: role "unprivileged_role" cannot be dropped because some objects depend on it
971-
DETAIL: access to foreign-data wrapper postgresql
971+
DETAIL: privileges for foreign-data wrapper postgresql
972972
REVOKE ALL ON FOREIGN DATA WRAPPER postgresql FROM unprivileged_role;
973973
DROP ROLE unprivileged_role;
974974
DROP ROLE regress_test_role2;

0 commit comments

Comments
 (0)