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
13set testdir [file dirname $argv0]
14source $testdir/tester.tcl
15ifcapable {!trigger} {
16  finish_test
17  return
18}
19
20# Ticket #844
21#
22do_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
41integrity_check trigger5-99.9
42
43finish_test
44