persistentstorage/sqlite3api/TEST/TclScript/trigger5.test
changeset 0 08ec8eefde2f
equal deleted inserted replaced
-1:000000000000 0:08ec8eefde2f
       
     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