blob: 8235c08478c07ab296b6b77d48483f904a2c20cf [file] [log] [blame]
>>
>>set schema CAT1.SCHM;
--- SQL operation complete.
>>obey TEST_6_2_3_2(set_up);
>>
>>INSERT INTO T1 VALUES (1,2);
--- 1 row(s) inserted.
>>INSERT INTO T1 VALUES (2,3);
--- 1 row(s) inserted.
>>INSERT INTO T1 VALUES (3,4);
--- 1 row(s) inserted.
>>INSERT INTO T1 VALUES (4,5);
--- 1 row(s) inserted.
>>
>>INSERT INTO T4 VALUES (0);
--- 1 row(s) inserted.
>>
>>---------------------------------
>>-- DEFINE TRIGGERS
>>---------------------------------
>>
>>CREATE TRIGGER rt1
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T2 VALUES (oldR.a, oldR.b);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt2
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T3 VALUES (oldR.a, oldR.b);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER st3
+>AFTER UPDATE ON T1
+>INSERT INTO T4 VALUES (1);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt4
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T5 VALUES (5);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt5
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>UPDATE T4 SET a = a+1 WHERE a<>0;
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER st6
+>AFTER UPDATE ON T1
+>INSERT INTO T7 VALUES (6),(7);
--- SQL operation complete.
>>
>>
>>----------
>>CREATE TRIGGER st7
+>AFTER UPDATE ON T1
+>INSERT INTO T6 (SELECT * FROM T7);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt8
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T8 VALUES (oldR.b);
--- SQL operation complete.
>>
>>
>>obey TEST_6_2_3_2(tests);
>>
>>------------------------------------------------------------------
>>-- TEST CASE
>>------------------------------------------------------------------
>>
>>UPDATE T1 SET b = b+1 WHERE a < 4;
--- 3 row(s) updated.
>>
>>SELECT * FROM T1 ORDER BY a,b;
A B
----------- -----------
1 3
2 4
3 5
4 5
--- 4 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T2 ORDER BY a,b;
A B
----------- -----------
1 2
2 3
3 4
--- 3 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T3 ORDER BY a,b;
A B
----------- -----------
1 2
2 3
3 4
--- 3 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T4 ORDER BY a;
A
-----------
0
4
--- 2 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T5 ORDER BY a;
A
-----------
5
5
5
--- 3 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T6 ORDER BY a;
A
-----------
6
7
--- 2 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T7 ORDER BY a;
A
-----------
6
7
--- 2 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T8 ORDER BY a;
A
-----------
2
3
4
--- 3 row(s) selected.
>> -- check result
>>------------------------------------------------------------------
>>-- END
>>------------------------------------------------------------------
>>obey TEST_6_2_3_2(clean_up);
>>
>>DROP TRIGGER rt1;
--- SQL operation complete.
>>DROP TRIGGER rt2;
--- SQL operation complete.
>>DROP TRIGGER st3;
--- SQL operation complete.
>>DROP TRIGGER rt4;
--- SQL operation complete.
>>DROP TRIGGER rt5;
--- SQL operation complete.
>>DROP TRIGGER st6;
--- SQL operation complete.
>>DROP TRIGGER st7;
--- SQL operation complete.
>>DROP TRIGGER rt8;
--- SQL operation complete.
>>obey clearTables2;
>>SET SCHEMA cat1.schm;
--- SQL operation complete.
>>DELETE FROM tab1A;
--- 0 row(s) deleted.
>>DELETE FROM tab1B;
--- 0 row(s) deleted.
>>DELETE FROM T1;
--- 4 row(s) deleted.
>>DELETE FROM T2;
--- 3 row(s) deleted.
>>DELETE FROM T3;
--- 3 row(s) deleted.
>>DELETE FROM T4;
--- 2 row(s) deleted.
>>DELETE FROM T5;
--- 3 row(s) deleted.
>>DELETE FROM T6;
--- 2 row(s) deleted.
>>DELETE FROM T7;
--- 2 row(s) deleted.
>>DELETE FROM T8;
--- 3 row(s) deleted.
>>
>>DELETE FROM cat2.schm.tab2A;
--- 0 row(s) deleted.
>>DELETE FROM cat2.schm.tab2B;
--- 0 row(s) deleted.
>>DELETE FROM cat3.schm.tab3A;
--- 0 row(s) deleted.
>>
>>-- delete from table (index_table tab1a_i2);
>>-- delete from table (index_table tab1b_i1);
>>-- delete from table (index_table cat3.schm.tab3a_i1);
>>-- delete from table (index_table t1_i1);
>>-- delete from table (index_table t1_i2);
>>-- delete from table (index_table t3_i2);
>>
>>
>>SET SCHEMA cat1.schm_alt;
--- SQL operation complete.
>>DELETE FROM tab1A;
--- 0 row(s) deleted.
>>DELETE FROM tab1B;
--- 0 row(s) deleted.
>>DELETE FROM T1;
--- 0 row(s) deleted.
>>DELETE FROM T2;
--- 0 row(s) deleted.
>>DELETE FROM T3;
--- 0 row(s) deleted.
>>DELETE FROM T4;
--- 0 row(s) deleted.
>>DELETE FROM T5;
--- 0 row(s) deleted.
>>DELETE FROM T6;
--- 0 row(s) deleted.
>>DELETE FROM T7;
--- 0 row(s) deleted.
>>DELETE FROM T8;
--- 0 row(s) deleted.
>>
>>SET SCHEMA cat1.schm;
--- SQL operation complete.
>>
>>
>>-- switch schemas and make trig temp tables partitioned
>>set schema CAT1.SCHM_ALT;
--- SQL operation complete.
>>control query default TEMPORARY_TABLE_HASH_PARTITIONS $$TrigTempTablePartition1$$;
--- SQL operation complete.
>>obey TEST_6_2_3_2(set_up);
>>
>>INSERT INTO T1 VALUES (1,2);
--- 1 row(s) inserted.
>>INSERT INTO T1 VALUES (2,3);
--- 1 row(s) inserted.
>>INSERT INTO T1 VALUES (3,4);
--- 1 row(s) inserted.
>>INSERT INTO T1 VALUES (4,5);
--- 1 row(s) inserted.
>>
>>INSERT INTO T4 VALUES (0);
--- 1 row(s) inserted.
>>
>>---------------------------------
>>-- DEFINE TRIGGERS
>>---------------------------------
>>
>>CREATE TRIGGER rt1
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T2 VALUES (oldR.a, oldR.b);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt2
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T3 VALUES (oldR.a, oldR.b);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER st3
+>AFTER UPDATE ON T1
+>INSERT INTO T4 VALUES (1);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt4
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T5 VALUES (5);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt5
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>UPDATE T4 SET a = a+1 WHERE a<>0;
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER st6
+>AFTER UPDATE ON T1
+>INSERT INTO T7 VALUES (6),(7);
--- SQL operation complete.
>>
>>
>>----------
>>CREATE TRIGGER st7
+>AFTER UPDATE ON T1
+>INSERT INTO T6 (SELECT * FROM T7);
--- SQL operation complete.
>>
>>----------
>>CREATE TRIGGER rt8
+>AFTER UPDATE ON T1
+>REFERENCING OLD AS oldR FOR EACH ROW
+>INSERT INTO T8 VALUES (oldR.b);
--- SQL operation complete.
>>
>>
>>obey TEST_6_2_3_2(tests);
>>
>>------------------------------------------------------------------
>>-- TEST CASE
>>------------------------------------------------------------------
>>
>>UPDATE T1 SET b = b+1 WHERE a < 4;
--- 3 row(s) updated.
>>
>>SELECT * FROM T1 ORDER BY a,b;
A B
----------- -----------
1 3
2 4
3 5
4 5
--- 4 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T2 ORDER BY a,b;
A B
----------- -----------
1 2
2 3
3 4
--- 3 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T3 ORDER BY a,b;
A B
----------- -----------
1 2
2 3
3 4
--- 3 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T4 ORDER BY a;
A
-----------
0
4
--- 2 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T5 ORDER BY a;
A
-----------
5
5
5
--- 3 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T6 ORDER BY a;
A
-----------
6
7
--- 2 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T7 ORDER BY a;
A
-----------
6
7
--- 2 row(s) selected.
>> -- check result
>>
>>SELECT * FROM T8 ORDER BY a;
A
-----------
2
3
4
--- 3 row(s) selected.
>> -- check result
>>------------------------------------------------------------------
>>-- END
>>------------------------------------------------------------------
>>
>>-- end logging
>>LOG;