1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-09-08 10:12:15 +03:00

Fixes for builds without SQLITE_ENABLE_STAT4.

FossilOrigin-Name: 84999e27cc0d14b89d9fe024e29d287c69285369
This commit is contained in:
dan
2013-08-06 20:15:06 +00:00
parent 7a4192358a
commit ddc2d6e8f5
5 changed files with 20 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
C When\spossible,\suse\sthe\smulti-column\ssamples\sin\ssqlite_stat4\sto\sestimate\sthe\snumber\sof\sindex\srows\sscanned\sby\sa\squery\splan. C Fixes\sfor\sbuilds\swithout\sSQLITE_ENABLE_STAT4.
D 2013-08-06T20:01:43.152 D 2013-08-06T20:15:06.692
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -157,7 +157,7 @@ F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc
F sqlite3.pc.in ae6f59a76e862f5c561eb32a380228a02afc3cad F sqlite3.pc.in ae6f59a76e862f5c561eb32a380228a02afc3cad
F src/alter.c 2af0330bb1b601af7a7789bf7229675fd772a083 F src/alter.c 2af0330bb1b601af7a7789bf7229675fd772a083
F src/analyze.c 726a63b19f7f1478b321b84fc03ae9d754624841 F src/analyze.c b8b0d15347ae34772f0df9b6d02848dea9dfe8a3
F src/attach.c 1816f5a9eea8d2010fc2b22b44f0f63eb3a62704 F src/attach.c 1816f5a9eea8d2010fc2b22b44f0f63eb3a62704
F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34 F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
F src/backup.c 43b348822db3e4cef48b2ae5a445fbeb6c73a165 F src/backup.c 43b348822db3e4cef48b2ae5a445fbeb6c73a165
@@ -290,7 +290,7 @@ F src/vtab.c 2e8b489db47e20ae36cd247932dc671c9ded0624
F src/wal.c 7dc3966ef98b74422267e7e6e46e07ff6c6eb1b4 F src/wal.c 7dc3966ef98b74422267e7e6e46e07ff6c6eb1b4
F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
F src/walker.c 4fa43583d0a84b48f93b1e88f11adf2065be4e73 F src/walker.c 4fa43583d0a84b48f93b1e88f11adf2065be4e73
F src/where.c 37c3dc9e9fddc2362c4926c0c64ca2d270c09d26 F src/where.c 142525786b7855a0997e113f3932833bf5c1f63c
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/aggnested.test 45c0201e28045ad38a530b5a144b73cd4aa2cfd6 F test/aggnested.test 45c0201e28045ad38a530b5a144b73cd4aa2cfd6
@@ -308,7 +308,7 @@ F test/analyze5.test e3eece09761c935ec0b85dc4ed70dbf6cac1ed77
F test/analyze6.test 3c01e084309706a1033f850330ea24f6f7846297 F test/analyze6.test 3c01e084309706a1033f850330ea24f6f7846297
F test/analyze7.test c0af22c5e0140e2e4ac556a21c2b6fff58229c98 F test/analyze7.test c0af22c5e0140e2e4ac556a21c2b6fff58229c98
F test/analyze8.test 092425439c12f62f9d5c3127e2b4f6e7b3e170cc F test/analyze8.test 092425439c12f62f9d5c3127e2b4f6e7b3e170cc
F test/analyze9.test 30479ec9ac395e77cfced52496845500768d45f9 F test/analyze9.test 1ed4e7d95d8e1e1923766281b20870d61730450c
F test/async.test 1d0e056ba1bb9729283a0f22718d3a25e82c277b F test/async.test 1d0e056ba1bb9729283a0f22718d3a25e82c277b
F test/async2.test c0a9bd20816d7d6a2ceca7b8c03d3d69c28ffb8b F test/async2.test c0a9bd20816d7d6a2ceca7b8c03d3d69c28ffb8b
F test/async3.test d73a062002376d7edc1fe3edff493edbec1fc2f7 F test/async3.test d73a062002376d7edc1fe3edff493edbec1fc2f7
@@ -1106,7 +1106,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
P 4a51cf289fad8aebc637b5f96488de18e861195d P 2973f5ca736c4a6f13c653d54b6a29d7cae8d0ed
R 35ea3b91ab20c676c2ada836f868975b R 3fc350a341f72f5a912cf9e1ccf56bc1
U dan U dan
Z 27d68e9c86b12d5cd9aae1be85713ec1 Z 97c03093fe0c6a197e3d6120177c182a

View File

@@ -1 +1 @@
2973f5ca736c4a6f13c653d54b6a29d7cae8d0ed 84999e27cc0d14b89d9fe024e29d287c69285369

View File

@@ -761,9 +761,11 @@ static void analyzeOneTable(
} }
/* Invoke stat4_push() */ /* Invoke stat4_push() */
#ifdef SQLITE_ENABLE_STAT4
sqlite3VdbeAddOp3(v, OP_Function, 1, regStat4, regTemp); sqlite3VdbeAddOp3(v, OP_Function, 1, regStat4, regTemp);
sqlite3VdbeChangeP4(v, -1, (char*)&stat4PushFuncdef, P4_FUNCDEF); sqlite3VdbeChangeP4(v, -1, (char*)&stat4PushFuncdef, P4_FUNCDEF);
sqlite3VdbeChangeP5(v, 2 + 3*nCol); sqlite3VdbeChangeP5(v, 2 + 3*nCol);
#endif
sqlite3VdbeAddOp2(v, OP_If, regEof, endOfScan); sqlite3VdbeAddOp2(v, OP_If, regEof, endOfScan);
for(i=0; i<nCol-1; i++){ for(i=0; i<nCol-1; i++){

View File

@@ -2565,7 +2565,6 @@ static int whereRangeScanEst(
#else #else
UNUSED_PARAMETER(pParse); UNUSED_PARAMETER(pParse);
UNUSED_PARAMETER(pBuilder); UNUSED_PARAMETER(pBuilder);
UNUSED_PARAMETER(nEq);
#endif #endif
assert( pLower || pUpper ); assert( pLower || pUpper );
*pRangeDiv = 0; *pRangeDiv = 0;
@@ -4576,15 +4575,19 @@ static int whereLoopAddBtree(
} }
} }
#ifdef SQLITE_ENABLE_STAT4
assert( pBuilder->pRec==0 ); assert( pBuilder->pRec==0 );
rc = sqlite3Stat4ProbeNew(pWInfo->pParse, pProbe, &pBuilder->pRec); rc = sqlite3Stat4ProbeNew(pWInfo->pParse, pProbe, &pBuilder->pRec);
if( rc==SQLITE_OK ){ if( rc==SQLITE_OK ){
#endif
rc = whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, 0); rc = whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, 0);
#ifdef SQLITE_ENABLE_STAT4
sqlite3Stat4ProbeFree(pBuilder->pRec); sqlite3Stat4ProbeFree(pBuilder->pRec);
pBuilder->nRecValid = 0; pBuilder->nRecValid = 0;
pBuilder->pRec = 0; pBuilder->pRec = 0;
} }
assert( pBuilder->pRec==0 ); assert( pBuilder->pRec==0 );
#endif
/* If there was an INDEXED BY clause, then only that one index is /* If there was an INDEXED BY clause, then only that one index is
** considered. */ ** considered. */

View File

@@ -14,6 +14,11 @@ set testdir [file dirname $argv0]
source $testdir/tester.tcl source $testdir/tester.tcl
set testprefix analyze9 set testprefix analyze9
ifcapable !stat4 {
finish_test
return
}
proc s {blob} { proc s {blob} {
set ret "" set ret ""
binary scan $blob c* bytes binary scan $blob c* bytes