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
pull/232/head
Tom Lane 3 weeks ago
parent 112e40b867
commit 4b05ebf095
  1. 26
      src/test/regress/expected/triggers.out
  2. 18
      src/test/regress/sql/triggers.sql

@ -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…
Cancel
Save