From ec9b87b98cff47346358a2d3d9cbdf4b99331167 Mon Sep 17 00:00:00 2001 From: gurkanindibay Date: Mon, 5 Feb 2024 14:41:34 +0300 Subject: [PATCH] Fixes review notes --- .../expected/create_role_propagation.out | 29 ++++++++++++++----- .../regress/sql/create_role_propagation.sql | 11 ++++++- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/test/regress/expected/create_role_propagation.out b/src/test/regress/expected/create_role_propagation.out index 2405e839f..cf6d35a6b 100644 --- a/src/test/regress/expected/create_role_propagation.out +++ b/src/test/regress/expected/create_role_propagation.out @@ -238,15 +238,28 @@ SELECT 1 FROM master_add_node('localhost', :worker_2_port); 1 (1 row) -SELECT roleid::regrole::text AS role, member::regrole::text, (grantor::regrole::text IN ('postgres', 'non_dist_role_1', 'dist_role_1')) AS grantor, admin_option FROM pg_auth_members WHERE roleid::regrole::text LIKE '%dist\_%' ORDER BY 1, 2; - role | member | grantor | admin_option +SELECT result FROM run_command_on_all_nodes( + $$ + SELECT json_agg(q.* ORDER BY member) FROM ( + SELECT roleid::regrole::text AS role, member::regrole::text, + grantor::regrole::text AS grantor, + admin_option FROM pg_auth_members WHERE roleid::regrole::text LIKE '%dist\_%' ORDER BY 1, 2 + ) q; + $$ +); + result --------------------------------------------------------------------- - dist_role_1 | dist_role_2 | t | f - dist_role_3 | non_dist_role_3 | f | f - dist_role_3 | test_admin_role | t | t - non_dist_role_1 | non_dist_role_2 | t | f - non_dist_role_4 | dist_role_4 | t | f -(5 rows) + [{"role":"dist_role_1","member":"dist_role_2","grantor":"postgres","admin_option":false}, + + {"role":"non_dist_role_4","member":"dist_role_4","grantor":"postgres","admin_option":false}, + + {"role":"non_dist_role_1","member":"non_dist_role_2","grantor":"postgres","admin_option":false}, + + {"role":"dist_role_3","member":"non_dist_role_3","grantor":"test_admin_role","admin_option":false}, + + {"role":"dist_role_3","member":"test_admin_role","grantor":"postgres","admin_option":true}] + [{"role":"non_dist_role_4","member":"dist_role_4","grantor":"postgres","admin_option":false}, + + {"role":"dist_role_3","member":"test_admin_role","grantor":"postgres","admin_option":true}] + [{"role":"dist_role_1","member":"dist_role_2","grantor":"postgres","admin_option":false}, + + {"role":"non_dist_role_4","member":"dist_role_4","grantor":"postgres","admin_option":false}, + + {"role":"dist_role_3","member":"test_admin_role","grantor":"postgres","admin_option":true}] +(3 rows) SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text LIKE '%dist\_%' ORDER BY 1; objid diff --git a/src/test/regress/sql/create_role_propagation.sql b/src/test/regress/sql/create_role_propagation.sql index 6fae137ea..cde51dd94 100644 --- a/src/test/regress/sql/create_role_propagation.sql +++ b/src/test/regress/sql/create_role_propagation.sql @@ -115,7 +115,16 @@ GRANT non_dist_role_4 TO dist_role_4; SELECT 1 FROM master_add_node('localhost', :worker_2_port); -SELECT roleid::regrole::text AS role, member::regrole::text, (grantor::regrole::text IN ('postgres', 'non_dist_role_1', 'dist_role_1')) AS grantor, admin_option FROM pg_auth_members WHERE roleid::regrole::text LIKE '%dist\_%' ORDER BY 1, 2; +SELECT result FROM run_command_on_all_nodes( + $$ + SELECT json_agg(q.* ORDER BY member) FROM ( + SELECT roleid::regrole::text AS role, member::regrole::text, + grantor::regrole::text AS grantor, + admin_option FROM pg_auth_members WHERE roleid::regrole::text LIKE '%dist\_%' ORDER BY 1, 2 + ) q; + $$ +); + SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text LIKE '%dist\_%' ORDER BY 1; REVOKE dist_role_3 from non_dist_role_3 granted by test_admin_role;