diff options
author | Marko Kreen | 2011-02-04 15:08:37 +0000 |
---|---|---|
committer | Marko Kreen | 2011-02-04 15:08:37 +0000 |
commit | 48d435d589ba3bf49af3c78d85a93ce9e003b3f8 (patch) | |
tree | cef08f02114aa1853dab46fbeff53b68e70462d3 | |
parent | 76b4a7884cd05b254d2df6149ea30aa5c824c9fe (diff) |
sql/pgq: separate out the truncate trigger tests
this makes success/failure on 8.3 clearer.
-rw-r--r-- | sql/pgq/Makefile | 2 | ||||
-rw-r--r-- | sql/pgq/expected/logutriga.out | 10 | ||||
-rw-r--r-- | sql/pgq/expected/sqltriga.out | 6 | ||||
-rw-r--r-- | sql/pgq/expected/trunctrg.out | 29 | ||||
-rw-r--r-- | sql/pgq/sql/logutriga.sql | 8 | ||||
-rw-r--r-- | sql/pgq/sql/sqltriga.sql | 5 | ||||
-rw-r--r-- | sql/pgq/sql/trunctrg.sql | 27 |
7 files changed, 57 insertions, 30 deletions
diff --git a/sql/pgq/Makefile b/sql/pgq/Makefile index caf59d7b..05663e82 100644 --- a/sql/pgq/Makefile +++ b/sql/pgq/Makefile @@ -9,7 +9,7 @@ FUNCS = $(shell sed -e 's/^[^\\].*//' -e 's/\\i //' $(LDRS)) SRCS = structure/tables.sql structure/grants.sql structure/install.sql \ structure/uninstall_pgq.sql $(FUNCS) -REGRESS = pgq_init pgq_core logutriga sqltriga +REGRESS = pgq_init pgq_core logutriga sqltriga trunctrg REGRESS_OPTS = --load-language=plpgsql include ../../config.mak diff --git a/sql/pgq/expected/logutriga.out b/sql/pgq/expected/logutriga.out index 795618cb..d6a5aaf4 100644 --- a/sql/pgq/expected/logutriga.out +++ b/sql/pgq/expected/logutriga.out @@ -146,12 +146,6 @@ select * from when_test; foo | 2 | (1 row) --- test truncate -create trigger trunc_triga after truncate on when_test -for each statement execute procedure pgq.logutriga('que3'); -truncate when_test; -NOTICE: insert_event(que3, R, , public.when_test) -CONTEXT: SQL statement "select pgq.insert_event($1, $2, $3, $4, $5, $6, $7)" -- test deny create table deny_test ( dat1 text not null primary key, @@ -160,12 +154,8 @@ create table deny_test ( NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "deny_test_pkey" for table "deny_test" create trigger deny_triga after insert or update or delete on deny_test for each row execute procedure pgq.logutriga('noqueue', 'deny'); -create trigger deny_triga2 after truncate on deny_test -for each statement execute procedure pgq.logutriga('noqueue', 'deny'); insert into deny_test values ('1', '2'); ERROR: Table 'public.deny_test' to queue 'noqueue': change not allowed (I) -truncate deny_test; -ERROR: Table 'public.deny_test' to queue 'noqueue': change not allowed (R) -- test pk update insert into udata (id, txt) values (1, 'txt'); NOTICE: insert_event(udata_que, I:id, id=1&txt=txt, public.udata) diff --git a/sql/pgq/expected/sqltriga.out b/sql/pgq/expected/sqltriga.out index 6747a503..b1ccafaf 100644 --- a/sql/pgq/expected/sqltriga.out +++ b/sql/pgq/expected/sqltriga.out @@ -141,12 +141,6 @@ CONTEXT: SQL statement "select pgq.insert_event($1, $2, $3, $4, $5, $6, $7)" delete from custom_expr; NOTICE: insert_event(que3, bat, dat1='foo', test=foo) CONTEXT: SQL statement "select pgq.insert_event($1, $2, $3, $4, $5, $6, $7)" --- test truncate -create trigger customtrc_triga after truncate on custom_expr -for each statement execute procedure pgq.sqltriga('que3'); -truncate custom_expr; -NOTICE: insert_event(que3, R, , public.custom_expr) -CONTEXT: SQL statement "select pgq.insert_event($1, $2, $3, $4, $5, $6, $7)" -- test pk update insert into rtest values (1, 'value1'); NOTICE: insert_event(que3, I, (id,dat,dat2) values ('1','value1',null), public.rtest) diff --git a/sql/pgq/expected/trunctrg.out b/sql/pgq/expected/trunctrg.out new file mode 100644 index 00000000..8563565d --- /dev/null +++ b/sql/pgq/expected/trunctrg.out @@ -0,0 +1,29 @@ +-- test sqltriga truncate +create table trunctrg1 ( + dat1 text not null primary key, + dat2 int2 not null, + dat3 text +); +NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "trunctrg1_pkey" for table "trunctrg1" +create trigger trunc1_trig after truncate on trunctrg1 +for each statement execute procedure pgq.sqltriga('que3'); +truncate trunctrg1; +NOTICE: insert_event(que3, R, , public.trunctrg1) +CONTEXT: SQL statement "select pgq.insert_event($1, $2, $3, $4, $5, $6, $7)" +-- test logutriga truncate +create table trunctrg2 ( + dat1 text not null primary key, + dat2 int2 not null, + dat3 text +); +NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "trunctrg2_pkey" for table "trunctrg2" +create trigger trunc2_trig after truncate on trunctrg2 +for each statement execute procedure pgq.logutriga('que3'); +truncate trunctrg2; +NOTICE: insert_event(que3, R, , public.trunctrg2) +CONTEXT: SQL statement "select pgq.insert_event($1, $2, $3, $4, $5, $6, $7)" +-- test deny +create trigger deny_triga2 after truncate on trunctrg2 +for each statement execute procedure pgq.logutriga('noqueue', 'deny'); +truncate trunctrg2; +ERROR: Table 'public.trunctrg2' to queue 'noqueue': change not allowed (R) diff --git a/sql/pgq/sql/logutriga.sql b/sql/pgq/sql/logutriga.sql index 5b0060c2..cd5ce151 100644 --- a/sql/pgq/sql/logutriga.sql +++ b/sql/pgq/sql/logutriga.sql @@ -109,11 +109,6 @@ for each row execute procedure pgq.logutriga('que3', 'when=current_user=''random insert into when_test values ('foo', '2'); select * from when_test; --- test truncate -create trigger trunc_triga after truncate on when_test -for each statement execute procedure pgq.logutriga('que3'); -truncate when_test; - -- test deny create table deny_test ( dat1 text not null primary key, @@ -121,10 +116,7 @@ create table deny_test ( ); create trigger deny_triga after insert or update or delete on deny_test for each row execute procedure pgq.logutriga('noqueue', 'deny'); -create trigger deny_triga2 after truncate on deny_test -for each statement execute procedure pgq.logutriga('noqueue', 'deny'); insert into deny_test values ('1', '2'); -truncate deny_test; -- test pk update insert into udata (id, txt) values (1, 'txt'); diff --git a/sql/pgq/sql/sqltriga.sql b/sql/pgq/sql/sqltriga.sql index 14b70364..2d0d0192 100644 --- a/sql/pgq/sql/sqltriga.sql +++ b/sql/pgq/sql/sqltriga.sql @@ -105,11 +105,6 @@ insert into custom_expr values ('foo', '2'); update custom_expr set dat3 = 'bat'; delete from custom_expr; --- test truncate -create trigger customtrc_triga after truncate on custom_expr -for each statement execute procedure pgq.sqltriga('que3'); -truncate custom_expr; - -- test pk update insert into rtest values (1, 'value1'); update rtest set id = 2; diff --git a/sql/pgq/sql/trunctrg.sql b/sql/pgq/sql/trunctrg.sql new file mode 100644 index 00000000..53ef8d70 --- /dev/null +++ b/sql/pgq/sql/trunctrg.sql @@ -0,0 +1,27 @@ + +-- test sqltriga truncate +create table trunctrg1 ( + dat1 text not null primary key, + dat2 int2 not null, + dat3 text +); +create trigger trunc1_trig after truncate on trunctrg1 +for each statement execute procedure pgq.sqltriga('que3'); +truncate trunctrg1; + + +-- test logutriga truncate +create table trunctrg2 ( + dat1 text not null primary key, + dat2 int2 not null, + dat3 text +); +create trigger trunc2_trig after truncate on trunctrg2 +for each statement execute procedure pgq.logutriga('que3'); +truncate trunctrg2; + +-- test deny +create trigger deny_triga2 after truncate on trunctrg2 +for each statement execute procedure pgq.logutriga('noqueue', 'deny'); +truncate trunctrg2; + |