From 7788b76acd2ec19e82b8ad3fac1e118b0b4b6faa Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Thu, 26 Aug 2010 19:49:08 +0000
Subject: [PATCH] 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.

---
 src/backend/catalog/pg_shdepend.c          | 4 ++--
 src/test/regress/expected/dependency.out   | 8 ++++----
 src/test/regress/expected/foreign_data.out | 8 ++++----
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/backend/catalog/pg_shdepend.c b/src/backend/catalog/pg_shdepend.c
index a03fc0d4e2e..9faeff1bfe7 100644
--- a/src/backend/catalog/pg_shdepend.c
+++ b/src/backend/catalog/pg_shdepend.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/catalog/pg_shdepend.c,v 1.44 2010/07/28 05:22:24 sriggs Exp $
+ *	  $PostgreSQL: pgsql/src/backend/catalog/pg_shdepend.c,v 1.45 2010/08/26 19:49:08 alvherre Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1067,7 +1067,7 @@ storeObjectDescription(StringInfo descs, objectType type,
 			if (deptype == SHARED_DEPENDENCY_OWNER)
 				appendStringInfo(descs, _("owner of %s"), objdesc);
 			else if (deptype == SHARED_DEPENDENCY_ACL)
-				appendStringInfo(descs, _("access to %s"), objdesc);
+				appendStringInfo(descs, _("privileges for %s"), objdesc);
 			else
 				elog(ERROR, "unrecognized dependency type: %d",
 					 (int) deptype);
diff --git a/src/test/regress/expected/dependency.out b/src/test/regress/expected/dependency.out
index d0895fbd52e..700def75b1f 100644
--- a/src/test/regress/expected/dependency.out
+++ b/src/test/regress/expected/dependency.out
@@ -13,10 +13,10 @@ GRANT ALL ON TABLE deptest TO regression_user, regression_user2;
 -- can't drop neither because they have privileges somewhere
 DROP USER regression_user;
 ERROR:  role "regression_user" cannot be dropped because some objects depend on it
-DETAIL:  access to table deptest
+DETAIL:  privileges for table deptest
 DROP GROUP regression_group;
 ERROR:  role "regression_group" cannot be dropped because some objects depend on it
-DETAIL:  access to table deptest
+DETAIL:  privileges for table deptest
 -- if we revoke the privileges we can drop the group
 REVOKE SELECT ON deptest FROM GROUP regression_group;
 DROP GROUP regression_group;
@@ -24,7 +24,7 @@ DROP GROUP regression_group;
 REVOKE SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES ON deptest FROM regression_user;
 DROP USER regression_user;
 ERROR:  role "regression_user" cannot be dropped because some objects depend on it
-DETAIL:  access to table deptest
+DETAIL:  privileges for table deptest
 -- now we are OK to drop him
 REVOKE TRIGGER ON deptest FROM regression_user;
 DROP USER regression_user;
@@ -110,7 +110,7 @@ REASSIGN OWNED BY regression_user1 TO regression_user2;
 -- doesn't work: grant still exists
 DROP USER regression_user1;
 ERROR:  role "regression_user1" cannot be dropped because some objects depend on it
-DETAIL:  access to table deptest1
+DETAIL:  privileges for table deptest1
 DROP OWNED BY regression_user1;
 DROP USER regression_user1;
 \set VERBOSITY terse
diff --git a/src/test/regress/expected/foreign_data.out b/src/test/regress/expected/foreign_data.out
index e96d188a6e6..fcc1d7cceac 100644
--- a/src/test/regress/expected/foreign_data.out
+++ b/src/test/regress/expected/foreign_data.out
@@ -412,7 +412,7 @@ RESET ROLE;
 DROP ROLE regress_test_indirect;                            -- ERROR
 ERROR:  role "regress_test_indirect" cannot be dropped because some objects depend on it
 DETAIL:  owner of server s1
-access to foreign-data wrapper foo
+privileges for foreign-data wrapper foo
 \des+
                                                               List of foreign servers
  Name |         Owner         | Foreign-data wrapper |            Access privileges            |  Type  | Version |             Options             
@@ -941,8 +941,8 @@ RESET ROLE;
 -- Cleanup
 DROP ROLE regress_test_role;                                -- ERROR
 ERROR:  role "regress_test_role" cannot be dropped because some objects depend on it
-DETAIL:  access to server s4
-access to foreign-data wrapper foo
+DETAIL:  privileges for server s4
+privileges for foreign-data wrapper foo
 owner of user mapping for regress_test_role
 owner of user mapping for regress_test_role
 owner of server s5
@@ -968,7 +968,7 @@ DROP ROLE regress_test_indirect;
 DROP ROLE regress_test_role;
 DROP ROLE unprivileged_role;                                -- ERROR
 ERROR:  role "unprivileged_role" cannot be dropped because some objects depend on it
-DETAIL:  access to foreign-data wrapper postgresql
+DETAIL:  privileges for foreign-data wrapper postgresql
 REVOKE ALL ON FOREIGN DATA WRAPPER postgresql FROM unprivileged_role;
 DROP ROLE unprivileged_role;
 DROP ROLE regress_test_role2;
-- 
GitLab