summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Kreen2011-02-04 15:08:37 +0000
committerMarko Kreen2011-02-04 15:08:37 +0000
commit48d435d589ba3bf49af3c78d85a93ce9e003b3f8 (patch)
treecef08f02114aa1853dab46fbeff53b68e70462d3
parent76b4a7884cd05b254d2df6149ea30aa5c824c9fe (diff)
sql/pgq: separate out the truncate trigger tests
this makes success/failure on 8.3 clearer.
-rw-r--r--sql/pgq/Makefile2
-rw-r--r--sql/pgq/expected/logutriga.out10
-rw-r--r--sql/pgq/expected/sqltriga.out6
-rw-r--r--sql/pgq/expected/trunctrg.out29
-rw-r--r--sql/pgq/sql/logutriga.sql8
-rw-r--r--sql/pgq/sql/sqltriga.sql5
-rw-r--r--sql/pgq/sql/trunctrg.sql27
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;
+