Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit71b8e8e

Browse files
committed
Fix user mapping object description
We were using "user mapping for user XYZ" as description for user mappings, butthat's ambiguous because users can have mappings on multiple foreignservers; therefore change it to "for user XYZ on server UVW" instead.Object identities for user mappings are also updated in the same way, inbranches 9.3 and above.The incomplete description string was introduced together with the wholeSQL/MED infrastructure by commitcae565e of 8.4 era, so backpatch allthe way back.
1 parent6b61b64 commit71b8e8e

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

‎src/backend/catalog/dependency.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2599,14 +2599,18 @@ getObjectDescription(const ObjectAddress *object)
25992599
HeapTupletup;
26002600
Oiduseid;
26012601
char*usename;
2602+
Form_pg_user_mappingumform;
2603+
ForeignServer*srv;
26022604

26032605
tup=SearchSysCache1(USERMAPPINGOID,
26042606
ObjectIdGetDatum(object->objectId));
26052607
if (!HeapTupleIsValid(tup))
26062608
elog(ERROR,"cache lookup failed for user mapping %u",
26072609
object->objectId);
26082610

2609-
useid= ((Form_pg_user_mapping)GETSTRUCT(tup))->umuser;
2611+
umform= (Form_pg_user_mapping)GETSTRUCT(tup);
2612+
useid=umform->umuser;
2613+
srv=GetForeignServer(umform->umserver);
26102614

26112615
ReleaseSysCache(tup);
26122616

@@ -2615,7 +2619,9 @@ getObjectDescription(const ObjectAddress *object)
26152619
else
26162620
usename="public";
26172621

2618-
appendStringInfo(&buffer,_("user mapping for %s"),usename);
2622+
appendStringInfo(&buffer,_("user mapping for %s on server %s"),usename,
2623+
srv->servername);
2624+
26192625
break;
26202626
}
26212627

‎src/test/regress/expected/foreign_data.out

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ CREATE USER MAPPING FOR current_user SERVER s1;
238238
DROP FOREIGN DATA WRAPPER foo; -- ERROR
239239
ERROR: cannot drop foreign-data wrapper foo because other objects depend on it
240240
DETAIL: server s1 depends on foreign-data wrapper foo
241-
user mapping for foreign_data_user depends on server s1
241+
user mapping for foreign_data_useron server s1depends on server s1
242242
HINT: Use DROP ... CASCADE to drop the dependent objects too.
243243
SET ROLE regress_test_role;
244244
DROP FOREIGN DATA WRAPPER foo CASCADE; -- ERROR
@@ -248,7 +248,7 @@ RESET ROLE;
248248
DROP FOREIGN DATA WRAPPER foo CASCADE;
249249
NOTICE: drop cascades to 2 other objects
250250
DETAIL: drop cascades to server s1
251-
drop cascades to user mapping for foreign_data_user
251+
drop cascades to user mapping for foreign_data_user on server s1
252252
\dew+
253253
List of foreign-data wrappers
254254
Name | Owner | Validator | Access privileges | Options
@@ -500,10 +500,10 @@ CREATE USER MAPPING FOR current_user SERVER s3;
500500

501501
DROP SERVER s3; -- ERROR
502502
ERROR: cannot drop server s3 because other objects depend on it
503-
DETAIL: user mapping for foreign_data_user depends on server s3
503+
DETAIL: user mapping for foreign_data_useron server s3depends on server s3
504504
HINT: Use DROP ... CASCADE to drop the dependent objects too.
505505
DROP SERVER s3 CASCADE;
506-
NOTICE: drop cascades to user mapping for foreign_data_user
506+
NOTICE: drop cascades to user mapping for foreign_data_user on server s3
507507
\des
508508
List of foreign servers
509509
Name | Owner | Foreign-data wrapper
@@ -924,8 +924,8 @@ GRANT USAGE ON FOREIGN SERVER s9 TO regress_test_role;
924924
CREATE USER MAPPING FOR current_user SERVER s9;
925925
DROP SERVER s9 CASCADE;
926926
NOTICE: drop cascades to 2 other objects
927-
DETAIL: drop cascades to user mapping for public
928-
drop cascades to user mapping for unprivileged_role
927+
DETAIL: drop cascades to user mapping for public on server s9
928+
drop cascades to user mapping for unprivileged_role on server s9
929929
RESET ROLE;
930930
CREATE SERVER s9 FOREIGN DATA WRAPPER foo;
931931
GRANT USAGE ON FOREIGN SERVER s9 TO unprivileged_role;
@@ -943,27 +943,27 @@ DROP ROLE regress_test_role; -- ERROR
943943
ERROR: role "regress_test_role" cannot be dropped because some objects depend on it
944944
DETAIL: privileges for server s4
945945
privileges for foreign-data wrapper foo
946-
owner of user mapping for regress_test_role
947-
owner of user mapping for regress_test_role
946+
owner of user mapping for regress_test_role on server s6
947+
owner of user mapping for regress_test_role on server s5
948948
owner of server s5
949949
owner of server t2
950950
DROP SERVER s5 CASCADE;
951-
NOTICE: drop cascades to user mapping for regress_test_role
951+
NOTICE: drop cascades to user mapping for regress_test_role on server s5
952952
DROP SERVER t1 CASCADE;
953-
NOTICE: drop cascades to user mapping for public
953+
NOTICE: drop cascades to user mapping for public on server t1
954954
DROP SERVER t2;
955955
DROP USER MAPPING FOR regress_test_role SERVER s6;
956956
DROP FOREIGN DATA WRAPPER foo CASCADE;
957957
NOTICE: drop cascades to 5 other objects
958958
DETAIL: drop cascades to server s4
959-
drop cascades to user mapping for foreign_data_user
959+
drop cascades to user mapping for foreign_data_user on server s4
960960
drop cascades to server s6
961961
drop cascades to server s9
962-
drop cascades to user mapping for unprivileged_role
962+
drop cascades to user mapping for unprivileged_role on server s9
963963
DROP SERVER s8 CASCADE;
964964
NOTICE: drop cascades to 2 other objects
965-
DETAIL: drop cascades to user mapping for foreign_data_user
966-
drop cascades to user mapping for public
965+
DETAIL: drop cascades to user mapping for foreign_data_user on server s8
966+
drop cascades to user mapping for public on server s8
967967
DROP ROLE regress_test_indirect;
968968
DROP ROLE regress_test_role;
969969
DROP ROLE unprivileged_role; -- ERROR

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp