diff --git a/manifest b/manifest index df25ada5a5..0b57ed3d1b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C For\sthe\sOR-optimization,\savoid\sgenerating\sOP_OpenRead\sopcodes\sthat\sreopen\nexactly\sthe\ssame\sindex. -D 2014-07-22T00:40:45.480 +C Enhance\sthe\scomment\son\swhereLoopAddBtree().\s\sNo\schanges\sto\scode. +D 2014-07-22T12:05:32.008 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5eb79e334a5de69c87740edd56af6527dd219308 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -296,7 +296,7 @@ F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd F src/wal.c 264df50a1b33124130b23180ded2e2c5663c652a F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 F src/walker.c 11edb74d587bc87b33ca96a5173e3ec1b8389e45 -F src/where.c 4f8dce8f4e50b3b3675e8af7811e48526d6b4be2 +F src/where.c 00c4b52d973f5176297ab3b633c8f5d8f9475af6 F src/whereInt.h 929c1349b5355fd44f22cee5c14d72b3329c58a6 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 @@ -1182,7 +1182,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 f1c76c7c4c7d16855db60d16e23ecdf8d7ca862a -R ff4e333e5c258e291fb4ff256a0eb1e1 +P b67a6e33f23ce5f5d9a545fa9d6700a7ed636901 +R 7e3c00e4bb7f0f9e6e95bc158e12c00a U drh -Z 9049ac2491ab8361811966ab022cf8d0 +Z bea5212013e532ea4358a5003d399c52 diff --git a/manifest.uuid b/manifest.uuid index 9e127a138a..6d720e3002 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b67a6e33f23ce5f5d9a545fa9d6700a7ed636901 \ No newline at end of file +b22dd165da227a52d88b17a91e80a1701dce61ad \ No newline at end of file diff --git a/src/where.c b/src/where.c index 84a8d9a03f..753284bc32 100644 --- a/src/where.c +++ b/src/where.c @@ -4577,6 +4577,14 @@ static int whereUsablePartialIndex(int iTab, WhereClause *pWC, Expr *pWhere){ ** Normally, nSeek is 1. nSeek values greater than 1 come about if the ** WHERE clause includes "x IN (....)" terms used in place of "x=?". Or when ** implicit "x IN (SELECT x FROM tbl)" terms are added for skip-scans. +** +** The estimated values (nRow, nVisit, nSeek) often contain a large amount +** of uncertainty. For this reason, scoring is designed to pick plans that +** "do the least harm" if the estimates are inaccurate. For example, a +** log(nRow) factor is omitted from a non-covering index scan in order to +** bias the scoring in favor of using an index, since the worst-case +** performance of using an index is far better than the worst-case performance +** of a full table scan. */ static int whereLoopAddBtree( WhereLoopBuilder *pBuilder, /* WHERE clause information */