|
1 # The author disclaims copyright to this source code. In place of |
|
2 # a legal notice, here is a blessing: |
|
3 # |
|
4 # May you do good and not evil. |
|
5 # May you find forgiveness for yourself and forgive others. |
|
6 # May you share freely, never taking more than you give. |
|
7 # |
|
8 #*********************************************************************** |
|
9 # |
|
10 # This file tests the triggers of views. |
|
11 # |
|
12 |
|
13 set testdir [file dirname $argv0] |
|
14 source $testdir/tester.tcl |
|
15 ifcapable {!trigger} { |
|
16 finish_test |
|
17 return |
|
18 } |
|
19 |
|
20 # Ticket #844 |
|
21 # |
|
22 do_test trigger5-1.1 { |
|
23 execsql { |
|
24 CREATE TABLE Item( |
|
25 a integer PRIMARY KEY NOT NULL , |
|
26 b double NULL , |
|
27 c int NOT NULL DEFAULT 0 |
|
28 ); |
|
29 CREATE TABLE Undo(UndoAction TEXT); |
|
30 INSERT INTO Item VALUES (1,38205.60865,340); |
|
31 CREATE TRIGGER trigItem_UNDO_AD AFTER DELETE ON Item FOR EACH ROW |
|
32 BEGIN |
|
33 INSERT INTO Undo SELECT 'INSERT INTO Item (a,b,c) VALUES (' |
|
34 || coalesce(old.a,'NULL') || ',' || quote(old.b) || ',' || old.c || ');'; |
|
35 END; |
|
36 DELETE FROM Item WHERE a = 1; |
|
37 SELECT * FROM Undo; |
|
38 } |
|
39 } {{INSERT INTO Item (a,b,c) VALUES (1,38205.60865,340);}} |
|
40 |
|
41 integrity_check trigger5-99.9 |
|
42 |
|
43 finish_test |