mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
tests: Rename conflicting role names
These cause problems when running installcheck-world USE_MODULE_DB=1 with -j. Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://postgr.es/m/20221003234111.4ob7yph6r4g4ywhu@awork3.anarazel.de
This commit is contained in:
@ -4,9 +4,9 @@
|
||||
-- Before going ahead with the to-be-tested installations, verify that
|
||||
-- a non-superuser is allowed to install plperl (but not plperlu) when
|
||||
-- suitable permissions have been granted.
|
||||
CREATE USER regress_user1;
|
||||
CREATE USER regress_user2;
|
||||
SET ROLE regress_user1;
|
||||
CREATE USER regress_plperl_user1;
|
||||
CREATE USER regress_plperl_user2;
|
||||
SET ROLE regress_plperl_user1;
|
||||
CREATE EXTENSION plperl; -- fail
|
||||
ERROR: permission denied to create extension "plperl"
|
||||
HINT: Must have CREATE privilege on current database to create this extension.
|
||||
@ -16,18 +16,18 @@ HINT: Must be superuser to create this extension.
|
||||
RESET ROLE;
|
||||
DO $$
|
||||
begin
|
||||
execute format('grant create on database %I to regress_user1',
|
||||
execute format('grant create on database %I to regress_plperl_user1',
|
||||
current_database());
|
||||
end;
|
||||
$$;
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
CREATE EXTENSION plperl;
|
||||
CREATE EXTENSION plperlu; -- fail
|
||||
ERROR: permission denied to create extension "plperlu"
|
||||
HINT: Must be superuser to create this extension.
|
||||
CREATE SCHEMA plperl_setup_scratch;
|
||||
SET search_path = plperl_setup_scratch;
|
||||
GRANT ALL ON SCHEMA plperl_setup_scratch TO regress_user2;
|
||||
GRANT ALL ON SCHEMA plperl_setup_scratch TO regress_plperl_user2;
|
||||
CREATE FUNCTION foo1() returns int language plperl as '1;';
|
||||
SELECT foo1();
|
||||
foo1
|
||||
@ -38,15 +38,15 @@ SELECT foo1();
|
||||
-- Must reconnect to avoid failure with non-MULTIPLICITY Perl interpreters
|
||||
\c -
|
||||
SET search_path = plperl_setup_scratch;
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
-- Should be able to change privileges on the language
|
||||
revoke all on language plperl from public;
|
||||
SET ROLE regress_user2;
|
||||
SET ROLE regress_plperl_user2;
|
||||
CREATE FUNCTION foo2() returns int language plperl as '2;'; -- fail
|
||||
ERROR: permission denied for language plperl
|
||||
SET ROLE regress_user1;
|
||||
grant usage on language plperl to regress_user2;
|
||||
SET ROLE regress_user2;
|
||||
SET ROLE regress_plperl_user1;
|
||||
grant usage on language plperl to regress_plperl_user2;
|
||||
SET ROLE regress_plperl_user2;
|
||||
CREATE FUNCTION foo2() returns int language plperl as '2;';
|
||||
SELECT foo2();
|
||||
foo2
|
||||
@ -54,7 +54,7 @@ SELECT foo2();
|
||||
2
|
||||
(1 row)
|
||||
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
-- Should be able to drop the extension, but not the language per se
|
||||
DROP LANGUAGE plperl CASCADE;
|
||||
ERROR: cannot drop language plperl because extension plperl requires it
|
||||
@ -65,9 +65,9 @@ DETAIL: drop cascades to function foo1()
|
||||
drop cascades to function foo2()
|
||||
-- Clean up
|
||||
RESET ROLE;
|
||||
DROP OWNED BY regress_user1;
|
||||
DROP USER regress_user1;
|
||||
DROP USER regress_user2;
|
||||
DROP OWNED BY regress_plperl_user1;
|
||||
DROP USER regress_plperl_user1;
|
||||
DROP USER regress_plperl_user2;
|
||||
-- Now install the versions that will be used by subsequent test scripts.
|
||||
CREATE EXTENSION plperl;
|
||||
CREATE EXTENSION plperlu;
|
||||
|
@ -6,10 +6,10 @@
|
||||
-- a non-superuser is allowed to install plperl (but not plperlu) when
|
||||
-- suitable permissions have been granted.
|
||||
|
||||
CREATE USER regress_user1;
|
||||
CREATE USER regress_user2;
|
||||
CREATE USER regress_plperl_user1;
|
||||
CREATE USER regress_plperl_user2;
|
||||
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
|
||||
CREATE EXTENSION plperl; -- fail
|
||||
CREATE EXTENSION plperlu; -- fail
|
||||
@ -18,18 +18,18 @@ RESET ROLE;
|
||||
|
||||
DO $$
|
||||
begin
|
||||
execute format('grant create on database %I to regress_user1',
|
||||
execute format('grant create on database %I to regress_plperl_user1',
|
||||
current_database());
|
||||
end;
|
||||
$$;
|
||||
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
|
||||
CREATE EXTENSION plperl;
|
||||
CREATE EXTENSION plperlu; -- fail
|
||||
CREATE SCHEMA plperl_setup_scratch;
|
||||
SET search_path = plperl_setup_scratch;
|
||||
GRANT ALL ON SCHEMA plperl_setup_scratch TO regress_user2;
|
||||
GRANT ALL ON SCHEMA plperl_setup_scratch TO regress_plperl_user2;
|
||||
|
||||
CREATE FUNCTION foo1() returns int language plperl as '1;';
|
||||
SELECT foo1();
|
||||
@ -38,25 +38,25 @@ SELECT foo1();
|
||||
\c -
|
||||
SET search_path = plperl_setup_scratch;
|
||||
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
|
||||
-- Should be able to change privileges on the language
|
||||
revoke all on language plperl from public;
|
||||
|
||||
SET ROLE regress_user2;
|
||||
SET ROLE regress_plperl_user2;
|
||||
|
||||
CREATE FUNCTION foo2() returns int language plperl as '2;'; -- fail
|
||||
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
|
||||
grant usage on language plperl to regress_user2;
|
||||
grant usage on language plperl to regress_plperl_user2;
|
||||
|
||||
SET ROLE regress_user2;
|
||||
SET ROLE regress_plperl_user2;
|
||||
|
||||
CREATE FUNCTION foo2() returns int language plperl as '2;';
|
||||
SELECT foo2();
|
||||
|
||||
SET ROLE regress_user1;
|
||||
SET ROLE regress_plperl_user1;
|
||||
|
||||
-- Should be able to drop the extension, but not the language per se
|
||||
DROP LANGUAGE plperl CASCADE;
|
||||
@ -64,9 +64,9 @@ DROP EXTENSION plperl CASCADE;
|
||||
|
||||
-- Clean up
|
||||
RESET ROLE;
|
||||
DROP OWNED BY regress_user1;
|
||||
DROP USER regress_user1;
|
||||
DROP USER regress_user2;
|
||||
DROP OWNED BY regress_plperl_user1;
|
||||
DROP USER regress_plperl_user1;
|
||||
DROP USER regress_plperl_user2;
|
||||
|
||||
-- Now install the versions that will be used by subsequent test scripts.
|
||||
CREATE EXTENSION plperl;
|
||||
|
Reference in New Issue
Block a user