summaryrefslogtreecommitdiff
path: root/src/test/regress/expected/rules.out
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/regress/expected/rules.out')
-rw-r--r--src/test/regress/expected/rules.out673
1 files changed, 673 insertions, 0 deletions
diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out
new file mode 100644
index 0000000000..447b1499fa
--- /dev/null
+++ b/src/test/regress/expected/rules.out
@@ -0,0 +1,673 @@
+QUERY: create table rtest_t1 (a int4, b int4);
+QUERY: create table rtest_t2 (a int4, b int4);
+QUERY: create table rtest_t3 (a int4, b int4);
+QUERY: create view rtest_v1 as select * from rtest_t1;
+QUERY: create rule rtest_v1_ins as on insert to rtest_v1 do instead
+ insert into rtest_t1 values (new.a, new.b);
+QUERY: create rule rtest_v1_upd as on update to rtest_v1 do instead
+ update rtest_t1 set a = new.a, b = new.b
+ where a = current.a;
+QUERY: create rule rtest_v1_del as on delete to rtest_v1 do instead
+ delete from rtest_t1 where a = current.a;
+QUERY: create table rtest_system (sysname text, sysdesc text);
+QUERY: create table rtest_interface (sysname text, ifname text);
+QUERY: create table rtest_person (pname text, pdesc text);
+QUERY: create table rtest_admin (pname text, sysname text);
+QUERY: create rule rtest_sys_upd1 as on update to rtest_system do
+ update rtest_interface set sysname = new.sysname
+ where sysname = current.sysname;
+QUERY: create rule rtest_sys_upd2 as on update to rtest_system do
+ update rtest_admin set sysname = new.sysname
+ where sysname = current.sysname;
+QUERY: create rule rtest_sys_del1 as on delete to rtest_system do
+ delete from rtest_interface where sysname = current.sysname;
+QUERY: create rule rtest_sys_del2 as on delete to rtest_system do
+ delete from rtest_admin where sysname = current.sysname;
+QUERY: create rule rtest_pers_upd as on update to rtest_person do
+ update rtest_admin set pname = new.pname where pname = current.pname;
+QUERY: create rule rtest_pers_del as on delete to rtest_person do
+ delete from rtest_admin where pname = current.pname;
+QUERY: create table rtest_emp (ename char(20), salary money);
+QUERY: create table rtest_emplog (ename char(20), who name, action char(10), newsal money, oldsal money);
+QUERY: create table rtest_empmass (ename char(20), salary money);
+QUERY: create rule rtest_emp_ins as on insert to rtest_emp do
+ insert into rtest_emplog values (new.ename, current_user,
+ 'hired', new.salary, '0.00');
+QUERY: create rule rtest_emp_upd as on update to rtest_emp where new.salary != current.salary do
+ insert into rtest_emplog values (new.ename, current_user,
+ 'honored', new.salary, current.salary);
+QUERY: create rule rtest_emp_del as on delete to rtest_emp do
+ insert into rtest_emplog values (current.ename, current_user,
+ 'fired', '0.00', current.salary);
+QUERY: create table rtest_t4 (a int4, b text);
+QUERY: create table rtest_t5 (a int4, b text);
+QUERY: create table rtest_t6 (a int4, b text);
+QUERY: create table rtest_t7 (a int4, b text);
+QUERY: create table rtest_t8 (a int4, b text);
+QUERY: create table rtest_t9 (a int4, b text);
+QUERY: create rule rtest_t4_ins1 as on insert to rtest_t4
+ where new.a >= 10 and new.a < 20 do instead
+ insert into rtest_t5 values (new.a, new.b);
+QUERY: create rule rtest_t4_ins2 as on insert to rtest_t4
+ where new.a >= 20 and new.a < 30 do
+ insert into rtest_t6 values (new.a, new.b);
+QUERY: create rule rtest_t5_ins as on insert to rtest_t5
+ where new.a > 15 do
+ insert into rtest_t7 values (new.a, new.b);
+QUERY: create rule rtest_t6_ins as on insert to rtest_t6
+ where new.a > 25 do instead
+ insert into rtest_t8 values (new.a, new.b);
+QUERY: create table rtest_order1 (a int4);
+QUERY: create table rtest_order2 (a int4, b int4, c text);
+QUERY: create sequence rtest_seq;
+QUERY: create rule rtest_order_r3 as on insert to rtest_order1 do instead
+ insert into rtest_order2 values (new.a, nextval('rtest_seq'),
+ 'rule 3 - this should run 3rd or 4th');
+QUERY: create rule rtest_order_r4 as on insert to rtest_order1
+ where a < 100 do instead
+ insert into rtest_order2 values (new.a, nextval('rtest_seq'),
+ 'rule 4 - this should run 2nd');
+QUERY: create rule rtest_order_r2 as on insert to rtest_order1 do
+ insert into rtest_order2 values (new.a, nextval('rtest_seq'),
+ 'rule 2 - this should run 1st');
+QUERY: create rule rtest_order_r1 as on insert to rtest_order1 do instead
+ insert into rtest_order2 values (new.a, nextval('rtest_seq'),
+ 'rule 1 - this should run 3rd or 4th');
+QUERY: create table rtest_nothn1 (a int4, b text);
+QUERY: create table rtest_nothn2 (a int4, b text);
+QUERY: create table rtest_nothn3 (a int4, b text);
+QUERY: create table rtest_nothn4 (a int4, b text);
+QUERY: create rule rtest_nothn_r1 as on insert to rtest_nothn1
+ where new.a >= 10 and new.a < 20 do instead (select 1);
+QUERY: create rule rtest_nothn_r2 as on insert to rtest_nothn1
+ where new.a >= 30 and new.a < 40 do instead nothing;
+QUERY: create rule rtest_nothn_r3 as on insert to rtest_nothn2
+ where new.a >= 100 do instead
+ insert into rtest_nothn3 values (new.a, new.b);
+QUERY: create rule rtest_nothn_r4 as on insert to rtest_nothn2
+ do instead nothing;
+QUERY: insert into rtest_t2 values (1, 21);
+QUERY: insert into rtest_t2 values (2, 22);
+QUERY: insert into rtest_t2 values (3, 23);
+QUERY: insert into rtest_t3 values (1, 31);
+QUERY: insert into rtest_t3 values (2, 32);
+QUERY: insert into rtest_t3 values (3, 33);
+QUERY: insert into rtest_t3 values (4, 34);
+QUERY: insert into rtest_t3 values (5, 35);
+QUERY: insert into rtest_v1 values (1, 11);
+QUERY: insert into rtest_v1 values (2, 12);
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|11
+2|12
+(2 rows)
+
+QUERY: delete from rtest_v1 where a = 1;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+2|12
+(1 row)
+
+QUERY: insert into rtest_v1 values (1, 11);
+QUERY: delete from rtest_v1 where b = 12;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|11
+(1 row)
+
+QUERY: insert into rtest_v1 values (2, 12);
+QUERY: insert into rtest_v1 values (2, 13);
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|11
+2|12
+2|13
+(3 rows)
+
+QUERY: delete from rtest_v1 where b = 12;
+QUERY: select * from rtest_v1;
+** Remember the delete rule on rtest_v1: It says
+** DO INSTEAD DELETE FROM rtest_t1 WHERE a = current.a
+** So this time both rows with a = 2 must get deleted
+a| b
+-+--
+1|11
+(1 row)
+
+QUERY: delete from rtest_v1;
+QUERY: insert into rtest_v1 select * from rtest_t2;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+2|22
+3|23
+(3 rows)
+
+QUERY: delete from rtest_v1;
+QUERY: insert into rtest_v1 (b, a) select b, a from rtest_t2;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+2|22
+3|23
+(3 rows)
+
+QUERY: insert into rtest_v1 (a) select a from rtest_t3;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+2|22
+3|23
+1|
+2|
+3|
+4|
+5|
+(8 rows)
+
+QUERY: select * from rtest_v1 where b isnull;
+a|b
+-+-
+1|
+2|
+3|
+4|
+5|
+(5 rows)
+
+QUERY: update rtest_t1 set a = a + 10 where b isnull;
+QUERY: delete from rtest_v1 where b isnull;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+2|22
+3|23
+(3 rows)
+
+QUERY: update rtest_v1 set b = 42 where a = 2;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+3|23
+2|42
+(3 rows)
+
+QUERY: update rtest_v1 set b = 99 where b = 42;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+3|23
+2|99
+(3 rows)
+
+QUERY: update rtest_v1 set b = 88 where b < 50;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+2|99
+1|88
+3|88
+(3 rows)
+
+QUERY: delete from rtest_v1;
+QUERY: insert into rtest_v1 select rtest_t2.a, rtest_t3.b where rtest_t2.a = rtest_t3.a;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|31
+2|32
+3|33
+(3 rows)
+
+QUERY: update rtest_v1 set b = rtest_t2.b where a = rtest_t2.a;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+2|22
+3|23
+(3 rows)
+
+QUERY: insert into rtest_v1 select * from rtest_t3;
+QUERY: select * from rtest_v1;
+a| b
+-+--
+1|21
+2|22
+3|23
+1|31
+2|32
+3|33
+4|34
+5|35
+(8 rows)
+
+QUERY: update rtest_t1 set a = a + 10 where b > 30;
+QUERY: select * from rtest_v1;
+ a| b
+--+--
+ 1|21
+ 2|22
+ 3|23
+11|31
+12|32
+13|33
+14|34
+15|35
+(8 rows)
+
+QUERY: update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b;
+QUERY: select * from rtest_v1;
+ a| b
+--+--
+ 1|21
+ 2|22
+ 3|23
+21|31
+22|32
+23|33
+24|34
+25|35
+(8 rows)
+
+QUERY: insert into rtest_system values ('orion', 'Linux Jan Wieck');
+QUERY: insert into rtest_system values ('notjw', 'WinNT Jan Wieck (notebook)');
+QUERY: insert into rtest_system values ('neptun', 'Fileserver');
+QUERY: insert into rtest_interface values ('orion', 'eth0');
+QUERY: insert into rtest_interface values ('orion', 'eth1');
+QUERY: insert into rtest_interface values ('notjw', 'eth0');
+QUERY: insert into rtest_interface values ('neptun', 'eth0');
+QUERY: insert into rtest_person values ('jw', 'Jan Wieck');
+QUERY: insert into rtest_person values ('bm', 'Bruce Momjian');
+QUERY: insert into rtest_admin values ('jw', 'orion');
+QUERY: insert into rtest_admin values ('jw', 'notjw');
+QUERY: insert into rtest_admin values ('bm', 'neptun');
+QUERY: update rtest_system set sysname = 'pluto' where sysname = 'neptun';
+QUERY: select * from rtest_interface;
+sysname|ifname
+-------+------
+orion |eth0
+orion |eth1
+notjw |eth0
+pluto |eth0
+(4 rows)
+
+QUERY: select * from rtest_admin;
+pname|sysname
+-----+-------
+jw |orion
+jw |notjw
+bm |pluto
+(3 rows)
+
+QUERY: update rtest_person set pname = 'jwieck' where pdesc = 'Jan Wieck';
+QUERY: select * from rtest_admin;
+pname |sysname
+------+-------
+bm |pluto
+jwieck|orion
+jwieck|notjw
+(3 rows)
+
+QUERY: delete from rtest_system where sysname = 'orion';
+QUERY: select * from rtest_interface;
+sysname|ifname
+-------+------
+notjw |eth0
+pluto |eth0
+(2 rows)
+
+QUERY: select * from rtest_admin;
+pname |sysname
+------+-------
+bm |pluto
+jwieck|notjw
+(2 rows)
+
+QUERY: insert into rtest_emp values ('wiech', '5000.00');
+QUERY: insert into rtest_emp values ('gates', '80000.00');
+QUERY: update rtest_emp set ename = 'wiecx' where ename = 'wiech';
+QUERY: update rtest_emp set ename = 'wieck', salary = '6000.00' where ename = 'wiecx';
+QUERY: update rtest_emp set salary = '7000.00' where ename = 'wieck';
+QUERY: delete from rtest_emp where ename = 'gates';
+QUERY: select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog;
+ename |matches user|action |newsal |oldsal
+--------------------+------------+----------+----------+----------
+wiech |t |hired |$5,000.00 |$0.00
+gates |t |hired |$80,000.00|$0.00
+wieck |t |honored |$6,000.00 |$5,000.00
+wieck |t |honored |$7,000.00 |$6,000.00
+gates |t |fired |$0.00 |$80,000.00
+(5 rows)
+
+QUERY: insert into rtest_empmass values ('meyer', '4000.00');
+QUERY: insert into rtest_empmass values ('maier', '5000.00');
+QUERY: insert into rtest_empmass values ('mayr', '6000.00');
+QUERY: insert into rtest_emp select * from rtest_empmass;
+QUERY: select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog;
+ename |matches user|action |newsal |oldsal
+--------------------+------------+----------+----------+----------
+wiech |t |hired |$5,000.00 |$0.00
+gates |t |hired |$80,000.00|$0.00
+wieck |t |honored |$6,000.00 |$5,000.00
+wieck |t |honored |$7,000.00 |$6,000.00
+gates |t |fired |$0.00 |$80,000.00
+meyer |t |hired |$4,000.00 |$0.00
+maier |t |hired |$5,000.00 |$0.00
+mayr |t |hired |$6,000.00 |$0.00
+(8 rows)
+
+QUERY: update rtest_empmass set salary = salary + '1000.00';
+QUERY: update rtest_emp set salary = rtest_empmass.salary where ename = rtest_empmass.ename;
+QUERY: select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog;
+ename |matches user|action |newsal |oldsal
+--------------------+------------+----------+----------+----------
+wiech |t |hired |$5,000.00 |$0.00
+gates |t |hired |$80,000.00|$0.00
+wieck |t |honored |$6,000.00 |$5,000.00
+wieck |t |honored |$7,000.00 |$6,000.00
+gates |t |fired |$0.00 |$80,000.00
+meyer |t |hired |$4,000.00 |$0.00
+maier |t |hired |$5,000.00 |$0.00
+mayr |t |hired |$6,000.00 |$0.00
+maier |t |honored |$6,000.00 |$5,000.00
+mayr |t |honored |$7,000.00 |$6,000.00
+meyer |t |honored |$5,000.00 |$4,000.00
+(11 rows)
+
+QUERY: delete from rtest_emp where ename = rtest_empmass.ename;
+QUERY: select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog;
+ename |matches user|action |newsal |oldsal
+--------------------+------------+----------+----------+----------
+wiech |t |hired |$5,000.00 |$0.00
+gates |t |hired |$80,000.00|$0.00
+wieck |t |honored |$6,000.00 |$5,000.00
+wieck |t |honored |$7,000.00 |$6,000.00
+gates |t |fired |$0.00 |$80,000.00
+meyer |t |hired |$4,000.00 |$0.00
+maier |t |hired |$5,000.00 |$0.00
+mayr |t |hired |$6,000.00 |$0.00
+maier |t |honored |$6,000.00 |$5,000.00
+mayr |t |honored |$7,000.00 |$6,000.00
+meyer |t |honored |$5,000.00 |$4,000.00
+maier |t |fired |$0.00 |$6,000.00
+mayr |t |fired |$0.00 |$7,000.00
+meyer |t |fired |$0.00 |$5,000.00
+(14 rows)
+
+QUERY: insert into rtest_t4 values (1, 'Record should go to rtest_t4');
+QUERY: insert into rtest_t4 values (2, 'Record should go to rtest_t4');
+QUERY: insert into rtest_t4 values (10, 'Record should go to rtest_t5');
+QUERY: insert into rtest_t4 values (15, 'Record should go to rtest_t5');
+QUERY: insert into rtest_t4 values (19, 'Record should go to rtest_t5 and t7');
+QUERY: insert into rtest_t4 values (20, 'Record should go to rtest_t4 and t6');
+QUERY: insert into rtest_t4 values (26, 'Record should go to rtest_t4 and t8');
+QUERY: insert into rtest_t4 values (28, 'Record should go to rtest_t4 and t8');
+QUERY: insert into rtest_t4 values (30, 'Record should go to rtest_t4');
+QUERY: insert into rtest_t4 values (40, 'Record should go to rtest_t4');
+QUERY: select * from rtest_t4;
+ a|b
+--+-----------------------------------
+ 1|Record should go to rtest_t4
+ 2|Record should go to rtest_t4
+20|Record should go to rtest_t4 and t6
+26|Record should go to rtest_t4 and t8
+28|Record should go to rtest_t4 and t8
+30|Record should go to rtest_t4
+40|Record should go to rtest_t4
+(7 rows)
+
+QUERY: select * from rtest_t5;
+ a|b
+--+-----------------------------------
+10|Record should go to rtest_t5
+15|Record should go to rtest_t5
+19|Record should go to rtest_t5 and t7
+(3 rows)
+
+QUERY: select * from rtest_t6;
+ a|b
+--+-----------------------------------
+20|Record should go to rtest_t4 and t6
+(1 row)
+
+QUERY: select * from rtest_t7;
+ a|b
+--+-----------------------------------
+19|Record should go to rtest_t5 and t7
+(1 row)
+
+QUERY: select * from rtest_t8;
+ a|b
+--+-----------------------------------
+26|Record should go to rtest_t4 and t8
+28|Record should go to rtest_t4 and t8
+(2 rows)
+
+QUERY: delete from rtest_t4;
+QUERY: delete from rtest_t5;
+QUERY: delete from rtest_t6;
+QUERY: delete from rtest_t7;
+QUERY: delete from rtest_t8;
+QUERY: insert into rtest_t9 values (1, 'Record should go to rtest_t4');
+QUERY: insert into rtest_t9 values (2, 'Record should go to rtest_t4');
+QUERY: insert into rtest_t9 values (10, 'Record should go to rtest_t5');
+QUERY: insert into rtest_t9 values (15, 'Record should go to rtest_t5');
+QUERY: insert into rtest_t9 values (19, 'Record should go to rtest_t5 and t7');
+QUERY: insert into rtest_t9 values (20, 'Record should go to rtest_t4 and t6');
+QUERY: insert into rtest_t9 values (26, 'Record should go to rtest_t4 and t8');
+QUERY: insert into rtest_t9 values (28, 'Record should go to rtest_t4 and t8');
+QUERY: insert into rtest_t9 values (30, 'Record should go to rtest_t4');
+QUERY: insert into rtest_t9 values (40, 'Record should go to rtest_t4');
+QUERY: insert into rtest_t4 select * from rtest_t9 where a < 20;
+QUERY: select * from rtest_t4;
+a|b
+-+----------------------------
+1|Record should go to rtest_t4
+2|Record should go to rtest_t4
+(2 rows)
+
+QUERY: select * from rtest_t5;
+ a|b
+--+-----------------------------------
+10|Record should go to rtest_t5
+15|Record should go to rtest_t5
+19|Record should go to rtest_t5 and t7
+(3 rows)
+
+QUERY: select * from rtest_t6;
+a|b
+-+-
+(0 rows)
+
+QUERY: select * from rtest_t7;
+ a|b
+--+-----------------------------------
+19|Record should go to rtest_t5 and t7
+(1 row)
+
+QUERY: select * from rtest_t8;
+a|b
+-+-
+(0 rows)
+
+QUERY: insert into rtest_t4 select * from rtest_t9 where b ~ 'and t8';
+QUERY: select * from rtest_t4;
+ a|b
+--+-----------------------------------
+ 1|Record should go to rtest_t4
+ 2|Record should go to rtest_t4
+26|Record should go to rtest_t4 and t8
+28|Record should go to rtest_t4 and t8
+(4 rows)
+
+QUERY: select * from rtest_t5;
+ a|b
+--+-----------------------------------
+10|Record should go to rtest_t5
+15|Record should go to rtest_t5
+19|Record should go to rtest_t5 and t7
+(3 rows)
+
+QUERY: select * from rtest_t6;
+a|b
+-+-
+(0 rows)
+
+QUERY: select * from rtest_t7;
+ a|b
+--+-----------------------------------
+19|Record should go to rtest_t5 and t7
+(1 row)
+
+QUERY: select * from rtest_t8;
+ a|b
+--+-----------------------------------
+26|Record should go to rtest_t4 and t8
+28|Record should go to rtest_t4 and t8
+(2 rows)
+
+QUERY: insert into rtest_t4 select a + 1, b from rtest_t9 where a in (20, 30, 40);
+QUERY: select * from rtest_t4;
+ a|b
+--+-----------------------------------
+ 1|Record should go to rtest_t4
+ 2|Record should go to rtest_t4
+26|Record should go to rtest_t4 and t8
+28|Record should go to rtest_t4 and t8
+21|Record should go to rtest_t4 and t6
+31|Record should go to rtest_t4
+41|Record should go to rtest_t4
+(7 rows)
+
+QUERY: select * from rtest_t5;
+ a|b
+--+-----------------------------------
+10|Record should go to rtest_t5
+15|Record should go to rtest_t5
+19|Record should go to rtest_t5 and t7
+(3 rows)
+
+QUERY: select * from rtest_t6;
+ a|b
+--+-----------------------------------
+21|Record should go to rtest_t4 and t6
+(1 row)
+
+QUERY: select * from rtest_t7;
+ a|b
+--+-----------------------------------
+19|Record should go to rtest_t5 and t7
+(1 row)
+
+QUERY: select * from rtest_t8;
+ a|b
+--+-----------------------------------
+26|Record should go to rtest_t4 and t8
+28|Record should go to rtest_t4 and t8
+(2 rows)
+
+QUERY: insert into rtest_order1 values (1);
+QUERY: select * from rtest_order2;
+a|b|c
+-+-+-----------------------------------
+1|1|rule 2 - this should run 1st
+1|2|rule 4 - this should run 2nd
+1|3|rule 3 - this should run 3rd or 4th
+1|4|rule 1 - this should run 3rd or 4th
+(4 rows)
+
+QUERY: insert into rtest_nothn1 values (1, 'want this');
+QUERY: insert into rtest_nothn1 values (2, 'want this');
+QUERY: insert into rtest_nothn1 values (10, 'don''t want this');
+QUERY: insert into rtest_nothn1 values (19, 'don''t want this');
+QUERY: insert into rtest_nothn1 values (20, 'want this');
+QUERY: insert into rtest_nothn1 values (29, 'want this');
+QUERY: insert into rtest_nothn1 values (30, 'don''t want this');
+QUERY: insert into rtest_nothn1 values (39, 'don''t want this');
+QUERY: insert into rtest_nothn1 values (40, 'want this');
+QUERY: insert into rtest_nothn1 values (50, 'want this');
+QUERY: insert into rtest_nothn1 values (60, 'want this');
+QUERY: select * from rtest_nothn1;
+ a|b
+--+---------
+ 1|want this
+ 2|want this
+20|want this
+29|want this
+40|want this
+50|want this
+60|want this
+(7 rows)
+
+QUERY: insert into rtest_nothn2 values (10, 'too small');
+QUERY: insert into rtest_nothn2 values (50, 'too small');
+QUERY: insert into rtest_nothn2 values (100, 'OK');
+QUERY: insert into rtest_nothn2 values (200, 'OK');
+QUERY: select * from rtest_nothn2;
+a|b
+-+-
+(0 rows)
+
+QUERY: select * from rtest_nothn3;
+ a|b
+---+--
+100|OK
+200|OK
+(2 rows)
+
+QUERY: delete from rtest_nothn1;
+QUERY: delete from rtest_nothn2;
+QUERY: delete from rtest_nothn3;
+QUERY: insert into rtest_nothn4 values (1, 'want this');
+QUERY: insert into rtest_nothn4 values (2, 'want this');
+QUERY: insert into rtest_nothn4 values (10, 'don''t want this');
+QUERY: insert into rtest_nothn4 values (19, 'don''t want this');
+QUERY: insert into rtest_nothn4 values (20, 'want this');
+QUERY: insert into rtest_nothn4 values (29, 'want this');
+QUERY: insert into rtest_nothn4 values (30, 'don''t want this');
+QUERY: insert into rtest_nothn4 values (39, 'don''t want this');
+QUERY: insert into rtest_nothn4 values (40, 'want this');
+QUERY: insert into rtest_nothn4 values (50, 'want this');
+QUERY: insert into rtest_nothn4 values (60, 'want this');
+QUERY: insert into rtest_nothn1 select * from rtest_nothn4;
+QUERY: select * from rtest_nothn1;
+ a|b
+--+---------
+ 1|want this
+ 2|want this
+20|want this
+29|want this
+40|want this
+50|want this
+60|want this
+(7 rows)
+
+QUERY: delete from rtest_nothn4;
+QUERY: insert into rtest_nothn4 values (10, 'too small');
+QUERY: insert into rtest_nothn4 values (50, 'too small');
+QUERY: insert into rtest_nothn4 values (100, 'OK');
+QUERY: insert into rtest_nothn4 values (200, 'OK');
+QUERY: insert into rtest_nothn2 select * from rtest_nothn4;
+QUERY: select * from rtest_nothn2;
+a|b
+-+-
+(0 rows)
+
+QUERY: select * from rtest_nothn3;
+ a|b
+---+--
+100|OK
+200|OK
+(2 rows)
+