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