]> granicus.if.org Git - postgresql/commitdiff
Fix intermittent failure in event_trigger test
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Sun, 1 Mar 2015 14:58:07 +0000 (11:58 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Sun, 1 Mar 2015 14:58:07 +0000 (11:58 -0300)
As evidenced by measles in buildfarm.  Pointed out by Tom.

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

index 8462fbff1c185b5a59d7c14724116425f8ad70f0..eaf47f0527e5af9edafb8b4df4dfb3aaea517e0f 100644 (file)
@@ -370,13 +370,21 @@ alter table rewriteme
 NOTICE:  Table 'rewriteme' is being rewritten (reason = 6)
 -- shouldn't trigger a table_rewrite event
 alter table rewriteme alter column foo type numeric(12,4);
--- typed tables are rewritten when their type changes
+-- typed tables are rewritten when their type changes.  Don't emit table
+-- name, because firing order is not stable.
+CREATE OR REPLACE FUNCTION test_evtrig_no_rewrite() RETURNS event_trigger
+LANGUAGE plpgsql AS $$
+BEGIN
+  RAISE NOTICE 'Table is being rewritten (reason = %)',
+               pg_event_trigger_table_rewrite_reason();
+END;
+$$;
 create type rewritetype as (a int);
 create table rewritemetoo1 of rewritetype;
 create table rewritemetoo2 of rewritetype;
 alter type rewritetype alter attribute a type text cascade;
-NOTICE:  Table 'rewritemetoo1' is being rewritten (reason = 4)
-NOTICE:  Table 'rewritemetoo2' is being rewritten (reason = 4)
+NOTICE:  Table is being rewritten (reason = 4)
+NOTICE:  Table is being rewritten (reason = 4)
 -- but this doesn't work
 create table rewritemetoo3 (a rewritetype);
 alter type rewritetype alter attribute a type varchar cascade;
index 4baad80b1df6b3c891aae097c19aee3fa025567d..bd672e124374be7144aa675830e8850e76515072 100644 (file)
@@ -276,7 +276,16 @@ alter table rewriteme
 -- shouldn't trigger a table_rewrite event
 alter table rewriteme alter column foo type numeric(12,4);
 
--- typed tables are rewritten when their type changes
+-- typed tables are rewritten when their type changes.  Don't emit table
+-- name, because firing order is not stable.
+CREATE OR REPLACE FUNCTION test_evtrig_no_rewrite() RETURNS event_trigger
+LANGUAGE plpgsql AS $$
+BEGIN
+  RAISE NOTICE 'Table is being rewritten (reason = %)',
+               pg_event_trigger_table_rewrite_reason();
+END;
+$$;
+
 create type rewritetype as (a int);
 create table rewritemetoo1 of rewritetype;
 create table rewritemetoo2 of rewritetype;