os/persistentdata/persistentstorage/sqlite3api/TEST/TclScript/trigger5.test
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     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