| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| set testdir [file dirname $argv0] |
| source $testdir/tester.tcl |
|
|
| |
| |
| ifcapable {!analyze||!vtab} { |
| finish_test |
| return |
| } |
|
|
| |
| |
| do_test analyze7-1.0 { |
| load_static_extension db wholenumber |
| execsql { |
| CREATE TABLE t1(a,b,c,d) |
| CREATE INDEX t1a ON t1(a) |
| CREATE INDEX t1b ON t1(b) |
| CREATE INDEX t1cd ON t1(c,d) |
| CREATE VIRTUAL TABLE nums USING wholenumber |
| INSERT INTO t1 SELECT value, value, value/100, value FROM nums |
| WHERE value BETWEEN 1 AND 256 |
| EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=123 |
| } |
| } {} |
| do_test analyze7-1.1 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE b=123 |
| } {} |
| do_test analyze7-1.2 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE c=2 |
| } {} |
|
|
| |
| |
| |
| |
| do_test analyze7-2.0 { |
| execsql {ANALYZE t1a |
| db cache flush |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=123 |
| } {} |
| do_test analyze7-2.1 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE b=123 |
| } {} |
| do_test analyze7-2.2 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE c=2 |
| } {} |
|
|
| |
| |
| |
| do_test analyze7-2.3 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=123 AND b=123} |
| } {} |
|
|
| |
| |
| |
| do_test analyze7-3.0 { |
| execsql {ANALYZE t1cd |
| db cache flush |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=123 |
| } {} |
| do_test analyze7-3.1 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE b=123 |
| } {} |
| do_test analyze7-3.2.1 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE c=? |
| } {} |
| ifcapable stat4 { |
| |
| |
| do_test analyze7-3.2.2 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE c=2 |
| } {} |
| } else { |
| |
| |
| do_test analyze7-3.2.3 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE c=2 |
| } {} |
| } |
| do_test analyze7-3.3 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=123 AND b=123} |
| } {} |
|
|
| ifcapable {!stat4} { |
| do_test analyze7-3.4 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE c=123 AND b=123} |
| } {} |
| do_test analyze7-3.5 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=123 AND c=123} |
| } {} |
| } |
| do_test analyze7-3.6 { |
| execsql {EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE c=123 AND d=123 AND b=123} |
| } {} |
|
|
| finish_test |
|
|