Merge latest trunk changes with this branch.
[sqlite.git] / test / tkt3832.test
blobbb73c8c7d061a035cce8482c89abbbb6cf3ddc21
1 # 2009 April 30                                                            
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 # Ticket #3832
14 # A segfault when using a BEFORE trigger on an INSERT and inserting
15 # a NULL into the INTEGER PRIMARY KEY.
17 # $Id: tkt3832.test,v 1.1 2009/05/01 02:08:04 drh Exp $
19 set testdir [file dirname $argv0]
20 source $testdir/tester.tcl
21 ifcapable {!trigger} {
22   finish_test
23   return
27 do_test tkt3832-1.1 {
28   db eval {
29     CREATE TABLE t1(a INT, b INTEGER PRIMARY KEY);
30     CREATE TABLE log(x);
31     CREATE TRIGGER t1r1 BEFORE INSERT ON t1 BEGIN
32       INSERT INTO log VALUES(new.b);
33     END;
34     INSERT INTO t1 VALUES(NULL,5);
35     INSERT INTO t1 SELECT b, a FROM t1 ORDER BY b;
36     SELECT rowid, * FROM t1;
37     SELECT rowid, * FROM log;
38   }
39 } {5 {} 5 6 5 6 1 5 2 -1}
41 finish_test