mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-14 00:22:38 +03:00
Fix a crash that can occur with a skip-scan on an index with
expressions when SQLITE_ENABLE_EXPLAIN_COMMENTS is defined. FossilOrigin-Name: 25f34cb9b576a2d4250a06a7dbf88010b1c11675
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Adjustments\sto\sthe\sspellfix2.test\smodule\sso\sthat\sit\sworks\sreliably\son\nwindows.
|
C Fix\sa\scrash\sthat\scan\soccur\swith\sa\sskip-scan\son\san\sindex\swith\nexpressions\swhen\sSQLITE_ENABLE_EXPLAIN_COMMENTS\sis\sdefined.
|
||||||
D 2015-09-18T15:38:07.218
|
D 2015-09-18T18:09:28.498
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in f85066ce844a28b671aaeeff320921cd0ce36239
|
F Makefile.in f85066ce844a28b671aaeeff320921cd0ce36239
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -419,7 +419,7 @@ F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
|
|||||||
F src/walker.c 2e14d17f592d176b6dc879c33fbdec4fbccaa2ba
|
F src/walker.c 2e14d17f592d176b6dc879c33fbdec4fbccaa2ba
|
||||||
F src/where.c 882fb44b36201fafc32dd7d59366f852806b7e70
|
F src/where.c 882fb44b36201fafc32dd7d59366f852806b7e70
|
||||||
F src/whereInt.h 7892bb54cf9ca0ae5c7e6094491b94c9286dc647
|
F src/whereInt.h 7892bb54cf9ca0ae5c7e6094491b94c9286dc647
|
||||||
F src/wherecode.c 186b493599000e640203be0a441223b395dabd24
|
F src/wherecode.c 5b534714feb301628f7123c1c424689501746811
|
||||||
F src/whereexpr.c 2473e4350e30f9b55d1c6a8f66ca23c689f23f1d
|
F src/whereexpr.c 2473e4350e30f9b55d1c6a8f66ca23c689f23f1d
|
||||||
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
|
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
|
||||||
F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
|
F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
|
||||||
@@ -784,7 +784,7 @@ F test/index5.test 8621491915800ec274609e42e02a97d67e9b13e7
|
|||||||
F test/index6.test 7102ec371414c42dfb1d5ca37eb4519aa9edc23a
|
F test/index6.test 7102ec371414c42dfb1d5ca37eb4519aa9edc23a
|
||||||
F test/index7.test 9c6765a74fc3fcde7aebc5b3bd40d98df14a527c
|
F test/index7.test 9c6765a74fc3fcde7aebc5b3bd40d98df14a527c
|
||||||
F test/indexedby.test 9c4cd331224e57f79fbf411ae245e6272d415985
|
F test/indexedby.test 9c4cd331224e57f79fbf411ae245e6272d415985
|
||||||
F test/indexexpr1.test 4feec154aadacb033b41acc1760a18edc4c60470
|
F test/indexexpr1.test b4dd422f6d0a515cbca6e0049d03a01f067b2bad
|
||||||
F test/indexfault.test 31d4ab9a7d2f6e9616933eb079722362a883eb1d
|
F test/indexfault.test 31d4ab9a7d2f6e9616933eb079722362a883eb1d
|
||||||
F test/init.test 15c823093fdabbf7b531fe22cf037134d09587a7
|
F test/init.test 15c823093fdabbf7b531fe22cf037134d09587a7
|
||||||
F test/insert.test 38742b5e9601c8f8d76e9b7555f7270288c2d371
|
F test/insert.test 38742b5e9601c8f8d76e9b7555f7270288c2d371
|
||||||
@@ -1387,7 +1387,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
|||||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||||
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
|
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
|
||||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||||
P 228e3d7c8f37c722aee3b589bdd5cfaa4b1f6f03
|
P 09a313fb7f2c16b0253a439edb901a7bb201d7d3
|
||||||
R 1e960e9cfbefc895c283d1719c1f0aa0
|
R e6b57e21ee9c6a029f06101550146ce6
|
||||||
U drh
|
U drh
|
||||||
Z 92d8d40833eb01893db655f9a1fecb4b
|
Z 350cadf296cf903d8bdd5c50cd6dd61e
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
09a313fb7f2c16b0253a439edb901a7bb201d7d3
|
25f34cb9b576a2d4250a06a7dbf88010b1c11675
|
||||||
@@ -514,8 +514,8 @@ static int codeAllEqualityTerms(
|
|||||||
sqlite3VdbeJumpHere(v, j);
|
sqlite3VdbeJumpHere(v, j);
|
||||||
for(j=0; j<nSkip; j++){
|
for(j=0; j<nSkip; j++){
|
||||||
sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, j, regBase+j);
|
sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, j, regBase+j);
|
||||||
assert( pIdx->aiColumn[j]>=0 );
|
testcase( pIdx->aiColumn[j]==(-2) );
|
||||||
VdbeComment((v, "%s", pIdx->pTable->aCol[pIdx->aiColumn[j]].zName));
|
VdbeComment((v, "%s", explainIndexColumnName(pIdx, j)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -218,5 +218,22 @@ do_execsql_test indexexpr1-510eqp {
|
|||||||
SELECT substr(a,4,3) AS k FROM cnt, t5 WHERE k=printf('%03d',x);
|
SELECT substr(a,4,3) AS k FROM cnt, t5 WHERE k=printf('%03d',x);
|
||||||
} {/USING INDEX t5ax/}
|
} {/USING INDEX t5ax/}
|
||||||
|
|
||||||
|
# Skip-scan on an indexed expression
|
||||||
|
#
|
||||||
|
do_execsql_test indexexpr1-600 {
|
||||||
|
DROP TABLE IF EXISTS t4;
|
||||||
|
CREATE TABLE t4(a,b,c,d,e,f,g,h,i);
|
||||||
|
CREATE INDEX t4all ON t4(a,b,c<d,e,f,i,h);
|
||||||
|
INSERT INTO t4 VALUES(1,2,3,4,5,6,7,8,9);
|
||||||
|
ANALYZE;
|
||||||
|
DELETE FROM sqlite_stat1;
|
||||||
|
INSERT INTO sqlite_stat1
|
||||||
|
VALUES('t4','t4all','600000 160000 40000 10000 2000 600 100 40 10');
|
||||||
|
ANALYZE sqlite_master;
|
||||||
|
SELECT i FROM t4 WHERE e=5;
|
||||||
|
} {9}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
finish_test
|
finish_test
|
||||||
|
|||||||
Reference in New Issue
Block a user