Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitae30786

Browse files
committed
Test that event triggers work in functions and procedures
This ensures that we have coverage of all the ProcessUtilityContextvariants.
1 parentf8c10f6 commitae30786

File tree

2 files changed

+56
-2
lines changed

2 files changed

+56
-2
lines changed

‎src/test/regress/expected/event_trigger.out

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,45 @@ create table event_trigger_fire5 (a int);
112112
NOTICE: test_event_trigger: ddl_command_start CREATE TABLE
113113
NOTICE: test_event_trigger: ddl_command_start CREATE TABLE
114114
NOTICE: test_event_trigger: ddl_command_end CREATE TABLE
115+
-- non-top-level command
116+
create function f1() returns int
117+
language plpgsql
118+
as $$
119+
begin
120+
create table event_trigger_fire6 (a int);
121+
return 0;
122+
end $$;
123+
NOTICE: test_event_trigger: ddl_command_start CREATE FUNCTION
124+
NOTICE: test_event_trigger: ddl_command_start CREATE FUNCTION
125+
NOTICE: test_event_trigger: ddl_command_end CREATE FUNCTION
126+
select f1();
127+
NOTICE: test_event_trigger: ddl_command_start CREATE TABLE
128+
NOTICE: test_event_trigger: ddl_command_start CREATE TABLE
129+
NOTICE: test_event_trigger: ddl_command_end CREATE TABLE
130+
f1
131+
----
132+
0
133+
(1 row)
134+
135+
-- non-top-level command
136+
create procedure p1()
137+
language plpgsql
138+
as $$
139+
begin
140+
create table event_trigger_fire7 (a int);
141+
end $$;
142+
NOTICE: test_event_trigger: ddl_command_start CREATE PROCEDURE
143+
NOTICE: test_event_trigger: ddl_command_end CREATE PROCEDURE
144+
call p1();
145+
NOTICE: test_event_trigger: ddl_command_start CREATE TABLE
146+
NOTICE: test_event_trigger: ddl_command_start CREATE TABLE
147+
NOTICE: test_event_trigger: ddl_command_end CREATE TABLE
115148
-- clean up
116149
alter event trigger regress_event_trigger disable;
117-
drop table event_trigger_fire2, event_trigger_fire3, event_trigger_fire4, event_trigger_fire5;
150+
drop table event_trigger_fire2, event_trigger_fire3, event_trigger_fire4, event_trigger_fire5, event_trigger_fire6, event_trigger_fire7;
118151
NOTICE: test_event_trigger: ddl_command_end DROP TABLE
152+
drop routine f1(), p1();
153+
NOTICE: test_event_trigger: ddl_command_end DROP ROUTINE
119154
-- regress_event_trigger_end should fire on these commands
120155
grant all on table event_trigger_fire1 to public;
121156
NOTICE: test_event_trigger: ddl_command_end GRANT

‎src/test/regress/sql/event_trigger.sql

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,28 @@ create table event_trigger_fire4 (a int);
106106
reset session_replication_role;
107107
-- fires all three
108108
createtableevent_trigger_fire5 (aint);
109+
-- non-top-level command
110+
createfunctionf1() returnsint
111+
language plpgsql
112+
as $$
113+
begin
114+
createtableevent_trigger_fire6 (aint);
115+
return0;
116+
end $$;
117+
select f1();
118+
-- non-top-level command
119+
create procedure p1()
120+
language plpgsql
121+
as $$
122+
begin
123+
createtableevent_trigger_fire7 (aint);
124+
end $$;
125+
call p1();
126+
109127
-- clean up
110128
alter event trigger regress_event_trigger disable;
111-
droptable event_trigger_fire2, event_trigger_fire3, event_trigger_fire4, event_trigger_fire5;
129+
droptable event_trigger_fire2, event_trigger_fire3, event_trigger_fire4, event_trigger_fire5, event_trigger_fire6, event_trigger_fire7;
130+
drop routine f1(), p1();
112131

113132
-- regress_event_trigger_end should fire on these commands
114133
grant allon table event_trigger_fire1 to public;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp