Suppress DROP CASCADE notices in regression tests
authorStephen Frost <[email protected]>
Tue, 25 Nov 2014 14:49:48 +0000 (09:49 -0500)
committerStephen Frost <[email protected]>
Tue, 25 Nov 2014 15:04:49 +0000 (10:04 -0500)
In the regression tests, when doing cascaded drops, we need to suppress
the notices from DROP CASCADE or there can be transient regression
failures as the order of drops can depend on the physical row order in
pg_depend.

Report and fix suggestion from Tom.

src/test/regress/expected/rowsecurity.out
src/test/regress/sql/rowsecurity.sql

index 3d793e2ff57f52128cba74a26e29a1c639d1c906..376292ac2effc0990f2effc58b8ed75405d76ad0 100644 (file)
@@ -774,10 +774,10 @@ ERROR:  infinite recursion detected in row-security policy for relation "rec1"
 -- Mutual recursion via .s.b views
 --
 SET SESSION AUTHORIZATION rls_regress_user1;
+-- Suppress NOTICE messages when doing a cascaded drop.
+SET client_min_messages TO 'warning';
 DROP VIEW rec1v, rec2v CASCADE;
-NOTICE:  drop cascades to 2 other objects
-DETAIL:  drop cascades to policy r1 on table rec1
-drop cascades to policy r2 on table rec2
+RESET client_min_messages;
 CREATE VIEW rec1v WITH (security_barrier) AS SELECT * FROM rec1;
 CREATE VIEW rec2v WITH (security_barrier) AS SELECT * FROM rec2;
 SET SESSION AUTHORIZATION rls_regress_user0;
@@ -1606,10 +1606,10 @@ EXPLAIN (COSTS OFF) SELECT * FROM y2 WHERE f_leak(b);
 -- Plancache invalidate on user change.
 --
 RESET SESSION AUTHORIZATION;
+-- Suppress NOTICE messages when doing a cascaded drop.
+SET client_min_messages TO 'warning';
 DROP TABLE t1 CASCADE;
-NOTICE:  drop cascades to 2 other objects
-DETAIL:  drop cascades to table t2
-drop cascades to table t3
+RESET client_min_messages;
 CREATE TABLE t1 (a integer);
 GRANT SELECT ON t1 TO rls_regress_user1, rls_regress_user2;
 CREATE POLICY p1 ON t1 TO rls_regress_user1 USING ((a % 2) = 0);
@@ -2205,32 +2205,10 @@ DROP TABLE copy_t;
 -- Clean up objects
 --
 RESET SESSION AUTHORIZATION;
+-- Suppress NOTICE messages when doing a cascaded drop.
+SET client_min_messages TO 'warning';
 DROP SCHEMA rls_regress_schema CASCADE;
-NOTICE:  drop cascades to 24 other objects
-DETAIL:  drop cascades to function f_leak(text)
-drop cascades to table uaccount
-drop cascades to table category
-drop cascades to table document
-drop cascades to table dependent
-drop cascades to table rec1
-drop cascades to table rec2
-drop cascades to view rec1v
-drop cascades to view rec2v
-drop cascades to table s1
-drop cascades to table s2
-drop cascades to view v2
-drop cascades to table z1
-drop cascades to table x1
-drop cascades to table y1
-drop cascades to table y2
-drop cascades to table t1
-drop cascades to table t2
-drop cascades to table t3
-drop cascades to table t4
-drop cascades to table event_trigger_test
-drop cascades to function start_command()
-drop cascades to function end_command()
-drop cascades to function drop_sql_command()
+RESET client_min_messages;
 DROP USER rls_regress_user0;
 DROP USER rls_regress_user1;
 DROP USER rls_regress_user2;
index b7969a8dabfa0eb4919ed68760644244447a66d5..2d5ddb4b8328b891b24018b003f267dc35e6da6b 100644 (file)
@@ -321,7 +321,12 @@ SELECT * FROM rec1;    -- fail, mutual recursion via views
 -- Mutual recursion via .s.b views
 --
 SET SESSION AUTHORIZATION rls_regress_user1;
+-- Suppress NOTICE messages when doing a cascaded drop.
+SET client_min_messages TO 'warning';
+
 DROP VIEW rec1v, rec2v CASCADE;
+RESET client_min_messages;
+
 CREATE VIEW rec1v WITH (security_barrier) AS SELECT * FROM rec1;
 CREATE VIEW rec2v WITH (security_barrier) AS SELECT * FROM rec2;
 SET SESSION AUTHORIZATION rls_regress_user0;
@@ -601,7 +606,12 @@ EXPLAIN (COSTS OFF) SELECT * FROM y2 WHERE f_leak(b);
 -- Plancache invalidate on user change.
 --
 RESET SESSION AUTHORIZATION;
+-- Suppress NOTICE messages when doing a cascaded drop.
+SET client_min_messages TO 'warning';
+
 DROP TABLE t1 CASCADE;
+RESET client_min_messages;
+
 CREATE TABLE t1 (a integer);
 
 GRANT SELECT ON t1 TO rls_regress_user1, rls_regress_user2;
@@ -914,7 +924,11 @@ DROP TABLE copy_t;
 --
 RESET SESSION AUTHORIZATION;
 
+-- Suppress NOTICE messages when doing a cascaded drop.
+SET client_min_messages TO 'warning';
+
 DROP SCHEMA rls_regress_schema CASCADE;
+RESET client_min_messages;
 
 DROP USER rls_regress_user0;
 DROP USER rls_regress_user1;