Change role names used in trigger test.
The choices made in commit 01463e1cc might pose copyright hazards, and are more cutesy than informative anyway. Reported-by: Noah Misch <noah@leadboat.com> Author: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/20250415155850.9b.nmisch@google.com
This commit is contained in:
parent
112e40b867
commit
4b05ebf095
@ -3535,8 +3535,8 @@ drop table parent, child;
|
||||
drop function f();
|
||||
-- Test who runs deferred trigger functions
|
||||
-- setup
|
||||
create role regress_groot;
|
||||
create role regress_outis;
|
||||
create role regress_caller;
|
||||
create role regress_fn_owner;
|
||||
create function whoami() returns trigger language plpgsql
|
||||
as $$
|
||||
begin
|
||||
@ -3544,7 +3544,7 @@ begin
|
||||
return null;
|
||||
end;
|
||||
$$;
|
||||
alter function whoami() owner to regress_outis;
|
||||
alter function whoami() owner to regress_fn_owner;
|
||||
create table defer_trig (id integer);
|
||||
grant insert on defer_trig to public;
|
||||
create constraint trigger whoami after insert on defer_trig
|
||||
@ -3553,23 +3553,23 @@ create constraint trigger whoami after insert on defer_trig
|
||||
execute function whoami();
|
||||
-- deferred triggers must run as the user that queued the trigger
|
||||
begin;
|
||||
set role regress_groot;
|
||||
set role regress_caller;
|
||||
insert into defer_trig values (1);
|
||||
reset role;
|
||||
set role regress_outis;
|
||||
set role regress_fn_owner;
|
||||
insert into defer_trig values (2);
|
||||
reset role;
|
||||
commit;
|
||||
NOTICE: I am regress_groot
|
||||
NOTICE: I am regress_outis
|
||||
NOTICE: I am regress_caller
|
||||
NOTICE: I am regress_fn_owner
|
||||
-- security definer functions override the user who queued the trigger
|
||||
alter function whoami() security definer;
|
||||
begin;
|
||||
set role regress_groot;
|
||||
set role regress_caller;
|
||||
insert into defer_trig values (3);
|
||||
reset role;
|
||||
commit;
|
||||
NOTICE: I am regress_outis
|
||||
NOTICE: I am regress_fn_owner
|
||||
alter function whoami() security invoker;
|
||||
-- make sure the current user is restored after error
|
||||
create or replace function whoami() returns trigger language plpgsql
|
||||
@ -3581,11 +3581,11 @@ begin
|
||||
end;
|
||||
$$;
|
||||
begin;
|
||||
set role regress_groot;
|
||||
set role regress_caller;
|
||||
insert into defer_trig values (4);
|
||||
reset role;
|
||||
commit; -- error expected
|
||||
NOTICE: I am regress_groot
|
||||
NOTICE: I am regress_caller
|
||||
ERROR: division by zero
|
||||
CONTEXT: SQL statement "SELECT 1 / 0"
|
||||
PL/pgSQL function whoami() line 4 at PERFORM
|
||||
@ -3598,5 +3598,5 @@ select current_user = session_user;
|
||||
-- clean up
|
||||
drop table defer_trig;
|
||||
drop function whoami();
|
||||
drop role regress_outis;
|
||||
drop role regress_groot;
|
||||
drop role regress_fn_owner;
|
||||
drop role regress_caller;
|
||||
|
@ -2701,8 +2701,8 @@ drop function f();
|
||||
-- Test who runs deferred trigger functions
|
||||
|
||||
-- setup
|
||||
create role regress_groot;
|
||||
create role regress_outis;
|
||||
create role regress_caller;
|
||||
create role regress_fn_owner;
|
||||
create function whoami() returns trigger language plpgsql
|
||||
as $$
|
||||
begin
|
||||
@ -2710,7 +2710,7 @@ begin
|
||||
return null;
|
||||
end;
|
||||
$$;
|
||||
alter function whoami() owner to regress_outis;
|
||||
alter function whoami() owner to regress_fn_owner;
|
||||
|
||||
create table defer_trig (id integer);
|
||||
grant insert on defer_trig to public;
|
||||
@ -2721,10 +2721,10 @@ create constraint trigger whoami after insert on defer_trig
|
||||
|
||||
-- deferred triggers must run as the user that queued the trigger
|
||||
begin;
|
||||
set role regress_groot;
|
||||
set role regress_caller;
|
||||
insert into defer_trig values (1);
|
||||
reset role;
|
||||
set role regress_outis;
|
||||
set role regress_fn_owner;
|
||||
insert into defer_trig values (2);
|
||||
reset role;
|
||||
commit;
|
||||
@ -2732,7 +2732,7 @@ commit;
|
||||
-- security definer functions override the user who queued the trigger
|
||||
alter function whoami() security definer;
|
||||
begin;
|
||||
set role regress_groot;
|
||||
set role regress_caller;
|
||||
insert into defer_trig values (3);
|
||||
reset role;
|
||||
commit;
|
||||
@ -2749,7 +2749,7 @@ end;
|
||||
$$;
|
||||
|
||||
begin;
|
||||
set role regress_groot;
|
||||
set role regress_caller;
|
||||
insert into defer_trig values (4);
|
||||
reset role;
|
||||
commit; -- error expected
|
||||
@ -2758,5 +2758,5 @@ select current_user = session_user;
|
||||
-- clean up
|
||||
drop table defer_trig;
|
||||
drop function whoami();
|
||||
drop role regress_outis;
|
||||
drop role regress_groot;
|
||||
drop role regress_fn_owner;
|
||||
drop role regress_caller;
|
||||
|
Loading…
x
Reference in New Issue
Block a user