41a05b7bee
FossilOrigin-Name: 803a1736d56b3c07b8ad38715fe0e39196ecc507
94 lines
2.0 KiB
Plaintext
94 lines
2.0 KiB
Plaintext
# 2008 September 1
|
|
#
|
|
# The author disclaims copyright to this source code. In place of
|
|
# a legal notice, here is a blessing:
|
|
#
|
|
# May you do good and not evil.
|
|
# 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 $
|
|
|
|
set testdir [file dirname $argv0]
|
|
source $testdir/tester.tcl
|
|
|
|
do_test in4-1.1 {
|
|
execsql {
|
|
CREATE TABLE t1(a, b);
|
|
CREATE INDEX i1 ON t1(a);
|
|
}
|
|
} {}
|
|
do_test in4-1.2 {
|
|
execsql {
|
|
SELECT * FROM t1 WHERE a IN ('aaa', 'bbb', 'ccc');
|
|
}
|
|
} {}
|
|
do_test in4-1.3 {
|
|
execsql {
|
|
INSERT INTO t1 VALUES('aaa', 1);
|
|
INSERT INTO t1 VALUES('ddd', 2);
|
|
INSERT INTO t1 VALUES('ccc', 3);
|
|
INSERT INTO t1 VALUES('eee', 4);
|
|
SELECT b FROM t1 WHERE a IN ('aaa', 'bbb', 'ccc');
|
|
}
|
|
} {1 3}
|
|
do_test in4-1.4 {
|
|
execsql {
|
|
SELECT a FROM t1 WHERE rowid IN (1, 3);
|
|
}
|
|
} {aaa ccc}
|
|
do_test in4-1.5 {
|
|
execsql {
|
|
SELECT a FROM t1 WHERE rowid IN ();
|
|
}
|
|
} {}
|
|
do_test in4-1.6 {
|
|
execsql {
|
|
SELECT a FROM t1 WHERE a IN ('ddd');
|
|
}
|
|
} {ddd}
|
|
|
|
do_test in4-2.1 {
|
|
execsql {
|
|
CREATE TABLE t2(a INTEGER PRIMARY KEY, b TEXT);
|
|
INSERT INTO t2 VALUES(-1, '-one');
|
|
INSERT INTO t2 VALUES(0, 'zero');
|
|
INSERT INTO t2 VALUES(1, 'one');
|
|
INSERT INTO t2 VALUES(2, 'two');
|
|
INSERT INTO t2 VALUES(3, 'three');
|
|
}
|
|
} {}
|
|
|
|
do_test in4-2.2 {
|
|
execsql { SELECT b FROM t2 WHERE a IN (0, 2) }
|
|
} {zero two}
|
|
|
|
do_test in4-2.3 {
|
|
execsql { SELECT b FROM t2 WHERE a IN (2, 0) }
|
|
} {zero two}
|
|
|
|
do_test in4-2.4 {
|
|
execsql { SELECT b FROM t2 WHERE a IN (2, -1) }
|
|
} {-one two}
|
|
|
|
do_test in4-2.5 {
|
|
execsql { SELECT b FROM t2 WHERE a IN (NULL, 3) }
|
|
} {three}
|
|
|
|
do_test in4-2.6 {
|
|
execsql { SELECT b FROM t2 WHERE a IN (1.0, 2.1) }
|
|
} {one}
|
|
|
|
do_test in4-2.7 {
|
|
execsql { SELECT b FROM t2 WHERE a IN ('1', '2') }
|
|
} {one two}
|
|
|
|
do_test in4-2.8 {
|
|
execsql { SELECT b FROM t2 WHERE a IN ('', '0.0.0', '2') }
|
|
} {two}
|
|
|
|
finish_test
|
|
|