blob: d587910d393a69138c016a73139c306972d9ab37 [file] [log] [blame]
danielk1977e672c8e2009-05-22 15:43:26 +00001
2set testdir [file dirname $argv0]
3source $testdir/tester.tcl
4
5ifcapable !vtab {
6 finish_test
7 return
8}
9
10register_echo_module [sqlite3_connection_pointer db]
11
12do_test tkt3871-1.1 {
13 execsql {
14 BEGIN;
15 CREATE TABLE t1(a PRIMARY KEY, b UNIQUE);
16 }
17 for {set i 0} {$i < 500} {incr i} {
18 execsql { INSERT INTO t1 VALUES($i, $i*$i) }
19 }
20 execsql COMMIT
21 execsql {
22 CREATE VIRTUAL TABLE e USING echo(t1);
23 SELECT count(*) FROM e;
24 }
25} {500}
26
27do_test tkt3871-1.2 {
28 execsql { SELECT * FROM e WHERE a = 1 OR a = 2 }
29} {1 1 2 4}
30do_test tkt3871-1.3 {
31 set echo_module ""
32 execsql { SELECT * FROM e WHERE a = 1 OR a = 2 }
33 set echo_module
34} [list \
dan1acb5392015-11-26 19:33:41 +000035 xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 1 \
36 xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 2 \
danielk1977e672c8e2009-05-22 15:43:26 +000037]
38
39do_test tkt3871-1.4 {
40 execsql { SELECT * FROM e WHERE a = 1 OR a = 2 OR b = 9 }
41} {1 1 2 4 3 9}
42do_test tkt3871-1.5 {
43 set echo_module ""
44 execsql { SELECT * FROM e WHERE a = 1 OR a = 2 OR b = 9 }
45 set echo_module
46} [list \
dan1acb5392015-11-26 19:33:41 +000047 xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 1 \
48 xFilter {SELECT rowid, a, b FROM 't1' WHERE a = ?} 2 \
49 xFilter {SELECT rowid, a, b FROM 't1' WHERE b = ?} 9
danielk1977e672c8e2009-05-22 15:43:26 +000050]
51
52
53finish_test