Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / sqlite / src / test / trigger5.test
blob75c56b19c9af14170e9ffab15541e74082b07d9f
1 # The author disclaims copyright to this source code.  In place of
2 # a legal notice, here is a blessing:
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.
8 #***********************************************************************
10 # This file tests the triggers of views.
13 set testdir [file dirname $argv0]
14 source $testdir/tester.tcl
15 ifcapable {!trigger} {
16   finish_test
17   return
20 # Ticket #844
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);}}
41 integrity_check trigger5-99.9
43 finish_test