mirror of https://github.com/citusdata/citus.git
Changes dist_object check
parent
77f0e4be86
commit
6ba4ee036c
|
@ -12,8 +12,8 @@ create role non_dist_role1;
|
|||
NOTICE: not propagating CREATE ROLE/USER commands to other nodes
|
||||
HINT: Connect to other nodes directly to manually create all necessary users and roles.
|
||||
reset citus.enable_create_role_propagation;
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
|
@ -30,8 +30,8 @@ grant dist_role3 to dist_role4 with admin option;
|
|||
set citus.enable_create_role_propagation to off;
|
||||
grant non_dist_role1 to dist_role1 with admin option;
|
||||
reset citus.enable_create_role_propagation;
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
|
@ -47,8 +47,8 @@ grant dist_role4 to "dist_role5'_test" with admin option;
|
|||
--below command propagates the non_dist_role1 since non_dist_role1 is already granted to dist_role1
|
||||
--and citus sees granted roles as a dependency and citus propagates the dependent roles
|
||||
grant dist_role4 to dist_role1 with admin option GRANTED BY "dist_role5'_test";
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
non_dist_role1
|
||||
(1 row)
|
||||
|
@ -109,8 +109,8 @@ select result FROM run_command_on_all_nodes(
|
|||
--clean all resources
|
||||
drop role dist_role1,dist_role2,dist_role3,dist_role4,"dist_role5'_test";
|
||||
drop role non_dist_role1;
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
|
@ -143,8 +143,8 @@ select 1 from citus_remove_node ('localhost',:worker_2_port);
|
|||
1
|
||||
(1 row)
|
||||
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
|
@ -174,8 +174,8 @@ create role dist_role3;
|
|||
create role dist_role4;
|
||||
create role "dist_role5'_test";
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
|
@ -199,16 +199,16 @@ grant dist_role2 to "dist_role5'_test" granted by dist_role3;
|
|||
grant dist_role2 to dist_role4 granted by non_dist_role1 ;--will not be propagated since grantor is non-distributed
|
||||
ERROR: role "non_dist_role1" does not exist
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
\c test_granted_by_support - - :worker_1_port
|
||||
grant dist_role4 to "dist_role5'_test" with admin option;
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
|
@ -217,8 +217,8 @@ select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid whe
|
|||
--workers as it doesn't create dependency objects for non-distributed roles.
|
||||
grant dist_role4 to dist_role1 with admin option GRANTED BY "dist_role5'_test";
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
rolname
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
objid
|
||||
---------------------------------------------------------------------
|
||||
(0 rows)
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ select 1 from citus_remove_node ('localhost',:worker_2_port);
|
|||
set citus.enable_create_role_propagation to off;
|
||||
create role non_dist_role1;
|
||||
reset citus.enable_create_role_propagation;
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
|
||||
create role dist_role1;
|
||||
create role dist_role2;
|
||||
|
@ -24,7 +24,7 @@ set citus.enable_create_role_propagation to off;
|
|||
grant non_dist_role1 to dist_role1 with admin option;
|
||||
reset citus.enable_create_role_propagation;
|
||||
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
|
||||
|
||||
|
||||
|
@ -41,7 +41,7 @@ grant dist_role4 to "dist_role5'_test" with admin option;
|
|||
--and citus sees granted roles as a dependency and citus propagates the dependent roles
|
||||
grant dist_role4 to dist_role1 with admin option GRANTED BY "dist_role5'_test";
|
||||
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
|
||||
grant dist_role4 to dist_role3 with admin option GRANTED BY dist_role1; --fails since already dist_role3 granted to dist_role4
|
||||
|
||||
|
@ -85,7 +85,7 @@ select result FROM run_command_on_all_nodes(
|
|||
drop role dist_role1,dist_role2,dist_role3,dist_role4,"dist_role5'_test";
|
||||
drop role non_dist_role1;
|
||||
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
reset citus.enable_create_role_propagation;
|
||||
|
||||
select result FROM run_command_on_all_nodes(
|
||||
|
@ -107,7 +107,7 @@ create database test_granted_by_support;
|
|||
|
||||
select 1 from citus_remove_node ('localhost',:worker_2_port);
|
||||
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
|
||||
\c test_granted_by_support
|
||||
--here in below block since 'citus.enable_create_role_propagation to off ' is not effective,
|
||||
|
@ -135,7 +135,7 @@ create role dist_role3;
|
|||
create role dist_role4;
|
||||
create role "dist_role5'_test";
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
|
||||
|
||||
\c test_granted_by_support
|
||||
|
@ -159,12 +159,12 @@ grant dist_role3 to "dist_role5'_test" granted by dist_role4;
|
|||
grant dist_role2 to "dist_role5'_test" granted by dist_role3;
|
||||
grant dist_role2 to dist_role4 granted by non_dist_role1 ;--will not be propagated since grantor is non-distributed
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
\c test_granted_by_support - - :worker_1_port
|
||||
grant dist_role4 to "dist_role5'_test" with admin option;
|
||||
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
|
||||
\c test_granted_by_support
|
||||
|
||||
|
@ -173,7 +173,7 @@ select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid whe
|
|||
grant dist_role4 to dist_role1 with admin option GRANTED BY "dist_role5'_test";
|
||||
|
||||
\c regression - - :master_port
|
||||
select r.rolname from pg_roles r inner join pg_dist_object o on r.oid= objid where r.rolname = 'non_dist_role1';
|
||||
SELECT objid::regrole FROM pg_catalog.pg_dist_object WHERE classid='pg_authid'::regclass::oid AND objid::regrole::text= 'non_dist_role1' ORDER BY 1;
|
||||
|
||||
|
||||
\c test_granted_by_support - - :worker_1_port
|
||||
|
|
Loading…
Reference in New Issue