Merge updates from trunk.
[sqlite.git] / test / tkt3731.test
blob11e5efd707e66f1e326b689cb639c77a2213cf6d
1 # 2009 March 18
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
6 #    May you do good and not evil.
7 #    May you find forgiveness for yourself and forgive others.
8 #    May you share freely, never taking more than you give.
10 #***********************************************************************
12 # $Id: tkt3731.test,v 1.1 2009/03/17 22:33:01 drh Exp $
14 set testdir [file dirname $argv0]
15 source $testdir/tester.tcl
16 ifcapable {!trigger} {
17   finish_test
18   return
21 # The tests in this file were written before SQLite supported recursive
22 # trigger invocation, and some tests depend on that to pass. So disable
23 # recursive triggers for this file.
24 catchsql { pragma recursive_triggers = off } 
26 do_test tkt3731-1.1 {
27   execsql {
28     CREATE TABLE t1(a PRIMARY KEY, b);
29     CREATE TRIGGER tr1 AFTER INSERT ON t1 BEGIN
30       INSERT INTO t1 VALUES(new.a || '+', new.b || '+');
31     END;
32   }
33 } {}
35 do_test tkt3731-1.2 {
36   execsql {
37     INSERT INTO t1 VALUES('a', 'b');
38     INSERT INTO t1 VALUES('c', 'd');
39     SELECT * FROM t1;
40   }
41 } {a b a+ b+ c d c+ d+}
43 do_test tkt3731-1.3 {
44   execsql {
45     DELETE FROM t1;
46     CREATE TABLE t2(a, b);
47     INSERT INTO t2 VALUES('e', 'f');
48     INSERT INTO t2 VALUES('g', 'h');
49     INSERT INTO t1 SELECT * FROM t2;
50     SELECT * FROM t1;
51   }
52 } {e f e+ f+ g h g+ h+}
54 integrity_check tkt3731-1.4
56 finish_test