Home | History | Annotate | Download | only in test
      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
     44