Move rowsecurity event trigger test
authorStephen Frost <[email protected]>
Fri, 2 Jan 2015 20:09:39 +0000 (15:09 -0500)
committerStephen Frost <[email protected]>
Thu, 8 Jan 2015 19:14:14 +0000 (14:14 -0500)
The event trigger test for rowsecurity can cause problems for other
tests which are run in parallel with it.  Instead of running that test
in the rowsecurity set, move it to the event_trigger set, which runs
isolated from other tests.

Also reverts 7161b08, which moved rowsecurity into its own test group.
That's no longer necessary, now that the event trigger test is gone from
the rowsecurity set of tests.

Pointed out by Tom.

src/test/regress/expected/event_trigger.out
src/test/regress/expected/rowsecurity.out
src/test/regress/parallel_schedule
src/test/regress/serial_schedule
src/test/regress/sql/event_trigger.sql
src/test/regress/sql/rowsecurity.sql

index 869d713f5b7c03d4666a43f1b699bba0c44f0668..2095794576675c515bd20a96561763536d6becf8 100644 (file)
@@ -373,3 +373,46 @@ alter table rewriteme alter column foo type numeric(12,4);
 drop table rewriteme;
 drop event trigger no_rewrite_allowed;
 drop function test_evtrig_no_rewrite();
+-- test Row Security Event Trigger
+RESET SESSION AUTHORIZATION;
+CREATE TABLE event_trigger_test (a integer, b text);
+CREATE OR REPLACE FUNCTION start_command()
+RETURNS event_trigger AS $$
+BEGIN
+RAISE NOTICE '% - ddl_command_start', tg_tag;
+END;
+$$ LANGUAGE plpgsql;
+CREATE OR REPLACE FUNCTION end_command()
+RETURNS event_trigger AS $$
+BEGIN
+RAISE NOTICE '% - ddl_command_end', tg_tag;
+END;
+$$ LANGUAGE plpgsql;
+CREATE OR REPLACE FUNCTION drop_sql_command()
+RETURNS event_trigger AS $$
+BEGIN
+RAISE NOTICE '% - sql_drop', tg_tag;
+END;
+$$ LANGUAGE plpgsql;
+CREATE EVENT TRIGGER start_rls_command ON ddl_command_start
+    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE start_command();
+CREATE EVENT TRIGGER end_rls_command ON ddl_command_end
+    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE end_command();
+CREATE EVENT TRIGGER sql_drop_command ON sql_drop
+    WHEN TAG IN ('DROP POLICY') EXECUTE PROCEDURE drop_sql_command();
+CREATE POLICY p1 ON event_trigger_test USING (FALSE);
+NOTICE:  CREATE POLICY - ddl_command_start
+NOTICE:  CREATE POLICY - ddl_command_end
+ALTER POLICY p1 ON event_trigger_test USING (TRUE);
+NOTICE:  ALTER POLICY - ddl_command_start
+NOTICE:  ALTER POLICY - ddl_command_end
+ALTER POLICY p1 ON event_trigger_test RENAME TO p2;
+NOTICE:  ALTER POLICY - ddl_command_start
+NOTICE:  ALTER POLICY - ddl_command_end
+DROP POLICY p2 ON event_trigger_test;
+NOTICE:  DROP POLICY - ddl_command_start
+NOTICE:  DROP POLICY - sql_drop
+NOTICE:  DROP POLICY - ddl_command_end
+DROP EVENT TRIGGER start_rls_command;
+DROP EVENT TRIGGER end_rls_command;
+DROP EVENT TRIGGER sql_drop_command;
index 430da554d5f48bb9935b1e70455b2b83d5c88e8c..1bb31326bb11f49dbd30e97644a2b92a084e6146 100644 (file)
@@ -1998,51 +1998,6 @@ EXPLAIN (COSTS OFF) SELECT * FROM t1;
    One-Time Filter: false
 (2 rows)
 
---
--- Event Triggers
---
-RESET SESSION AUTHORIZATION;
-CREATE TABLE event_trigger_test (a integer, b text);
-CREATE OR REPLACE FUNCTION start_command()
-RETURNS event_trigger AS $$
-BEGIN
-RAISE NOTICE '% - ddl_command_start', tg_tag;
-END;
-$$ LANGUAGE plpgsql;
-CREATE OR REPLACE FUNCTION end_command()
-RETURNS event_trigger AS $$
-BEGIN
-RAISE NOTICE '% - ddl_command_end', tg_tag;
-END;
-$$ LANGUAGE plpgsql;
-CREATE OR REPLACE FUNCTION drop_sql_command()
-RETURNS event_trigger AS $$
-BEGIN
-RAISE NOTICE '% - sql_drop', tg_tag;
-END;
-$$ LANGUAGE plpgsql;
-CREATE EVENT TRIGGER start_rls_command ON ddl_command_start
-    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE start_command();
-CREATE EVENT TRIGGER end_rls_command ON ddl_command_end
-    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE end_command();
-CREATE EVENT TRIGGER sql_drop_command ON sql_drop
-    WHEN TAG IN ('DROP POLICY') EXECUTE PROCEDURE drop_sql_command();
-CREATE POLICY p1 ON event_trigger_test USING (FALSE);
-NOTICE:  CREATE POLICY - ddl_command_start
-NOTICE:  CREATE POLICY - ddl_command_end
-ALTER POLICY p1 ON event_trigger_test USING (TRUE);
-NOTICE:  ALTER POLICY - ddl_command_start
-NOTICE:  ALTER POLICY - ddl_command_end
-ALTER POLICY p1 ON event_trigger_test RENAME TO p2;
-NOTICE:  ALTER POLICY - ddl_command_start
-NOTICE:  ALTER POLICY - ddl_command_end
-DROP POLICY p2 ON event_trigger_test;
-NOTICE:  DROP POLICY - ddl_command_start
-NOTICE:  DROP POLICY - sql_drop
-NOTICE:  DROP POLICY - ddl_command_end
-DROP EVENT TRIGGER start_rls_command;
-DROP EVENT TRIGGER end_rls_command;
-DROP EVENT TRIGGER sql_drop_command;
 --
 -- COPY TO/FROM
 --
index 62ef6ecb8c611cf788c14d91e81a0a145c9ea9f8..e0ae2f2b01da8ac4cb2b822d030d7533e94914be 100644 (file)
@@ -78,15 +78,12 @@ ignore: random
 # ----------
 # Another group of parallel tests
 # ----------
-test: select_into select_distinct select_distinct_on select_implicit select_having subselect union case join aggregates transactions random portals arrays btree_index hash_index update delete namespace prepared_xacts
+test: select_into select_distinct select_distinct_on select_implicit select_having subselect union case join aggregates transactions random portals arrays btree_index hash_index update namespace prepared_xacts delete
 
 # ----------
 # Another group of parallel tests
 # ----------
-test: brin gin gist spgist privileges security_label collate matview lock replica_identity object_address
-
-# rowsecurity creates an event trigger, so don't run it in parallel
-test: rowsecurity
+test: brin gin gist spgist privileges security_label collate matview lock replica_identity rowsecurity object_address
 
 # ----------
 # Another group of parallel tests
index b491b9768dcc2e50d8d5c340e3363da98318282f..7f762bd08fdd92a318b53215d8691153dd5e44ad 100644 (file)
@@ -105,8 +105,8 @@ test: collate
 test: matview
 test: lock
 test: replica_identity
-test: object_address
 test: rowsecurity
+test: object_address
 test: alter_generic
 test: misc
 test: psql
index b2c89315fcdc2e9ce3515f21e1061d0e42aa4f87..c6e47ed856eb7046ed57a68d6cbd2f7ffeae9726 100644 (file)
@@ -279,3 +279,46 @@ alter table rewriteme alter column foo type numeric(12,4);
 drop table rewriteme;
 drop event trigger no_rewrite_allowed;
 drop function test_evtrig_no_rewrite();
+
+-- test Row Security Event Trigger
+RESET SESSION AUTHORIZATION;
+CREATE TABLE event_trigger_test (a integer, b text);
+
+CREATE OR REPLACE FUNCTION start_command()
+RETURNS event_trigger AS $$
+BEGIN
+RAISE NOTICE '% - ddl_command_start', tg_tag;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION end_command()
+RETURNS event_trigger AS $$
+BEGIN
+RAISE NOTICE '% - ddl_command_end', tg_tag;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION drop_sql_command()
+RETURNS event_trigger AS $$
+BEGIN
+RAISE NOTICE '% - sql_drop', tg_tag;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE EVENT TRIGGER start_rls_command ON ddl_command_start
+    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE start_command();
+
+CREATE EVENT TRIGGER end_rls_command ON ddl_command_end
+    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE end_command();
+
+CREATE EVENT TRIGGER sql_drop_command ON sql_drop
+    WHEN TAG IN ('DROP POLICY') EXECUTE PROCEDURE drop_sql_command();
+
+CREATE POLICY p1 ON event_trigger_test USING (FALSE);
+ALTER POLICY p1 ON event_trigger_test USING (TRUE);
+ALTER POLICY p1 ON event_trigger_test RENAME TO p2;
+DROP POLICY p2 ON event_trigger_test;
+
+DROP EVENT TRIGGER start_rls_command;
+DROP EVENT TRIGGER end_rls_command;
+DROP EVENT TRIGGER sql_drop_command;
index ee28a2cbdc4be62bb2405f5d7dd0fac3bf80780f..ed7adbf8d1325e35236058c373d1bdeb61ad55bd 100644 (file)
@@ -769,51 +769,6 @@ SET SESSION AUTHORIZATION rls_regress_user1;
 SELECT * FROM t1;
 EXPLAIN (COSTS OFF) SELECT * FROM t1;
 
---
--- Event Triggers
---
-RESET SESSION AUTHORIZATION;
-CREATE TABLE event_trigger_test (a integer, b text);
-
-CREATE OR REPLACE FUNCTION start_command()
-RETURNS event_trigger AS $$
-BEGIN
-RAISE NOTICE '% - ddl_command_start', tg_tag;
-END;
-$$ LANGUAGE plpgsql;
-
-CREATE OR REPLACE FUNCTION end_command()
-RETURNS event_trigger AS $$
-BEGIN
-RAISE NOTICE '% - ddl_command_end', tg_tag;
-END;
-$$ LANGUAGE plpgsql;
-
-CREATE OR REPLACE FUNCTION drop_sql_command()
-RETURNS event_trigger AS $$
-BEGIN
-RAISE NOTICE '% - sql_drop', tg_tag;
-END;
-$$ LANGUAGE plpgsql;
-
-CREATE EVENT TRIGGER start_rls_command ON ddl_command_start
-    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE start_command();
-
-CREATE EVENT TRIGGER end_rls_command ON ddl_command_end
-    WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE end_command();
-
-CREATE EVENT TRIGGER sql_drop_command ON sql_drop
-    WHEN TAG IN ('DROP POLICY') EXECUTE PROCEDURE drop_sql_command();
-
-CREATE POLICY p1 ON event_trigger_test USING (FALSE);
-ALTER POLICY p1 ON event_trigger_test USING (TRUE);
-ALTER POLICY p1 ON event_trigger_test RENAME TO p2;
-DROP POLICY p2 ON event_trigger_test;
-
-DROP EVENT TRIGGER start_rls_command;
-DROP EVENT TRIGGER end_rls_command;
-DROP EVENT TRIGGER sql_drop_command;
-
 --
 -- COPY TO/FROM
 --