Index: test/in4.test ================================================================== --- test/in4.test +++ test/in4.test @@ -7,11 +7,11 @@ # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # -# $Id: in4.test,v 1.1 2008/10/02 13:50:56 danielk1977 Exp $ +# $Id: in4.test,v 1.2 2008/11/24 15:32:00 shane Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl do_test in4-1.1 { @@ -86,8 +86,34 @@ } {one two} do_test in4-2.8 { execsql { SELECT b FROM t2 WHERE a IN ('', '0.0.0', '2') } } {two} + +# add test case from the mailing list +# (11/7/08 sqlite crash with "WHERE x in ()" query) +do_test in4-3.1 { + execsql { + DROP TABLE IF EXISTS t1; + DROP TABLE IF EXISTS t2; + CREATE TABLE t1(x, id); + CREATE TABLE t2(x, id); + INSERT INTO t1 VALUES(NULL, NULL); + INSERT INTO t1 VALUES(0, NULL); + INSERT INTO t1 VALUES(1, 3); + INSERT INTO t1 VALUES(2, 4); + INSERT INTO t1 VALUES(3, 5); + INSERT INTO t1 VALUES(4, 6); + INSERT INTO t2 VALUES(0, NULL); + INSERT INTO t2 VALUES(4, 1); + INSERT INTO t2 VALUES(NULL, 1); + INSERT INTO t2 VALUES(NULL, NULL); + } +} {} +do_test in4-3.2 { + execsql { + SELECT x FROM t1 WHERE id IN () AND x IN (SELECT x FROM t2 WHERE id=1) + } +} {} finish_test