1 # 2009 March 18 2 # 3 # The author disclaims copyright to this source code. In place of 4 # a legal notice, here is a blessing: 5 # 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. 9 # 10 #*********************************************************************** 11 # 12 # $Id: tkt3731.test,v 1.1 2009/03/17 22:33:01 drh Exp $ 13 14 set testdir [file dirname $argv0] 15 source $testdir/tester.tcl 16 ifcapable {!trigger} { 17 finish_test 18 return 19 } 20 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 } 25 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 } {} 34 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+} 42 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+} 53 54 integrity_check tkt3731-1.4 55 56 finish_test 57