Add a test case to check that the previous commit is effective.
FossilOrigin-Name: 948d6e5d07bc14b6de32ec2144c716a5532f894c
This commit is contained in:
parent
e0de876e27
commit
937994aa65
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
||||
C Enhance\swhereLoopCheaperProperSubset(X,Y)\sso\sthat\sit\sdoes\snot\sreport\strue\nif\sX\suses\sskip-scan\sless\sthan\sY,\ssince\sin\sthat\scase\sX\smight\ndeserve\sto\sbe\scheaper\seven\sif\sit\sis\sa\sproper\ssubset.
|
||||
D 2014-11-05T13:13:13.983
|
||||
C Add\sa\stest\scase\sto\scheck\sthat\sthe\sprevious\scommit\sis\seffective.
|
||||
D 2014-11-05T14:19:05.905
|
||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||
F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a
|
||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||
@ -849,7 +849,7 @@ F test/skipscan1.test 7e15e1cc524524e7b2c4595ec85c75501d22f4ff
|
||||
F test/skipscan2.test d1d1450952b7275f0b0a3a981f0230532743951a
|
||||
F test/skipscan3.test ec5bab3f81c7038b43450e7b3062e04a198bdbb5
|
||||
F test/skipscan5.test 67817a4b6857c47e0e33ba3e506da6f23ef68de2
|
||||
F test/skipscan6.test 3a891b45d6df266ced861a2ad9d03fca2bc7fcc5
|
||||
F test/skipscan6.test 5866039d03a56f5bd0b3d172a012074a1d90a15b
|
||||
F test/soak.test 0b5b6375c9f4110c828070b826b3b4b0bb65cd5f
|
||||
F test/softheap1.test 40562fe6cac6d9827b7b42b86d45aedf12c15e24
|
||||
F test/sort.test c4400e7533748f6bd7413851ff148645e82b9e2d
|
||||
@ -1211,7 +1211,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P 7974c0ed10ffdc960a43fed89845c2bed428958d
|
||||
R 418c93fe7ac7140cffa87d5f3271cb48
|
||||
U drh
|
||||
Z 68c42aaa0a73598a09ed4215a5cfd466
|
||||
P c106b755369c1f8546e897ecd2ac56fd09d6e885
|
||||
R 27944d6d7573adcf0b31a08e199961ff
|
||||
U dan
|
||||
Z 1a8729ffc04f45ef7b13c20540a14cbb
|
||||
|
@ -1 +1 @@
|
||||
c106b755369c1f8546e897ecd2ac56fd09d6e885
|
||||
948d6e5d07bc14b6de32ec2144c716a5532f894c
|
@ -141,5 +141,60 @@ do_execsql_test 2.2 {
|
||||
} {/INDEX good .bb=. AND aa=. AND dd>. AND dd<../}
|
||||
|
||||
|
||||
# Create a table containing 100 rows. Column "a" contains a copy of the
|
||||
# rowid value - sequentially increasing integers from 1 to 100. Column
|
||||
# "b" contains the value of (a % 5). Columns "c" and "d" both contain
|
||||
# constant values (i.e. the same for every row).
|
||||
#
|
||||
# Then create a second table t2. t2 is the same as t3 except for the
|
||||
# order in which the indexes are created.
|
||||
#
|
||||
do_execsql_test 3.0 {
|
||||
CREATE TABLE t3(a, b, c, d);
|
||||
CREATE INDEX t3_ba ON t3(b, a, c);
|
||||
CREATE INDEX t3_a ON t3(a);
|
||||
|
||||
WITH d(a, b) AS (
|
||||
SELECT 1, 1
|
||||
UNION ALL
|
||||
SELECT a+1, (a+1) % 5 FROM d WHERE a<100
|
||||
)
|
||||
INSERT INTO t3 SELECT a, b, 'c', 'd' FROM d;
|
||||
|
||||
CREATE TABLE t2(a, b, c, d);
|
||||
CREATE INDEX t2_a ON t2(a);
|
||||
CREATE INDEX t2_ba ON t2(b, a, c);
|
||||
INSERT INTO t2 SELECT * FROM t3;
|
||||
|
||||
ANALYZE;
|
||||
SELECT * FROM sqlite_stat1;
|
||||
} {
|
||||
t2 t2_ba {100 20 1 1}
|
||||
t2 t2_a {100 1}
|
||||
t3 t3_a {100 1}
|
||||
t3 t3_ba {100 20 1 1}
|
||||
}
|
||||
|
||||
# Use index "t3_a", as (a=?) is expected to match only a single row.
|
||||
#
|
||||
do_eqp_test 3.1 {
|
||||
SELECT * FROM t3 WHERE a = ? AND c = ?
|
||||
} {
|
||||
0 0 0 {SEARCH TABLE t3 USING INDEX t3_a (a=?)}
|
||||
}
|
||||
|
||||
# The same query on table t2. This should use index "t2_a", for the
|
||||
# same reason. At one point though, it was mistakenly using a skip-scan.
|
||||
#
|
||||
do_eqp_test 3.2 {
|
||||
SELECT * FROM t2 WHERE a = ? AND c = ?
|
||||
} {
|
||||
0 0 0 {SEARCH TABLE t2 USING INDEX t2_a (a=?)}
|
||||
}
|
||||
|
||||
finish_test
|
||||
|
||||
|
||||
|
||||
|
||||
finish_test
|
||||
|
Loading…
x
Reference in New Issue
Block a user