]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make sure the outer loop cursor numbers are recorded in time for them to be
authordrh <drh@noemail.net>
Tue, 2 Oct 2012 01:25:16 +0000 (01:25 +0000)
committerdrh <drh@noemail.net>
Tue, 2 Oct 2012 01:25:16 +0000 (01:25 +0000)
used by the ORDER BY optimizer.

FossilOrigin-Name: 351dc8d9cab8a222f28fb865d3a7d1c622d60d6f

manifest
manifest.uuid
src/where.c

index 2efd869be09b25dcf1b72612f1239727dbc1144c..f2a8ebb39a072406bc1f56ca866b2d1d0696da1a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Improvements\sto\sthe\swheretrace\soutput.
-D 2012-10-02T01:10:00.432
+C Make\ssure\sthe\souter\sloop\scursor\snumbers\sare\srecorded\sin\stime\sfor\sthem\sto\sbe\nused\sby\sthe\sORDER\sBY\soptimizer.
+D 2012-10-02T01:25:16.426
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5f4f26109f9d80829122e0e09f9cda008fa065fb
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -249,7 +249,7 @@ F src/vtab.c d8020c0a0e8ccc490ca449d7e665311b6e9f3ba9
 F src/wal.c e1fe8f92a0ea0fef8faa87ec43a127a478589d22
 F src/wal.h 29c197540b19044e6cd73487017e5e47a1d3dac6
 F src/walker.c 3d75ba73de15e0f8cd0737643badbeb0e002f07b
-F src/where.c 9f706f54008083dac6079a75463d6921eab2fecd
+F src/where.c 0a309f52e9ca5e77250a242c2f0527754e3e30c4
 F test/8_3_names.test 631ea964a3edb091cf73c3b540f6bcfdb36ce823
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
 F test/aggnested.test 0be144b453e0622a085fae8665c32f5676708e00
@@ -1018,7 +1018,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
 F tool/win/sqlite.vsix 67d8a99aceb56384a81b3f30d6c71743146d2cc9
-P 59c2be75ff8b8ccd77320b45e4088e5bf456a1d9
-R c1d8d9fb6c53d3d30af8c26e9e5fd207
+P 76b277655646a9fe0f336ff106157f1efcd32019
+R 8e3740840a007142381cf2f0396df8e5
 U drh
-Z 969a36303c6eae35969bc68961950155
+Z 2be46057d17778455d3bb7f9393d3220
index 2594ba29b7bc1caa031306809122f4999175ff14..53d466cfe9d07c9e0d236635c7c610e44a307e6f 100644 (file)
@@ -1 +1 @@
-76b277655646a9fe0f336ff106157f1efcd32019
\ No newline at end of file
+351dc8d9cab8a222f28fb865d3a7d1c622d60d6f
\ No newline at end of file
index 7f08832437b4d43785fe489e81d67810f9b9a571..739222338e00f3cfad00267c7970e30cf7368495 100644 (file)
@@ -5116,6 +5116,7 @@ WhereInfo *sqlite3WhereBegin(
     }
     andFlags &= bestPlan.plan.wsFlags;
     pLevel->plan = bestPlan.plan;
+    pLevel->iTabCur = pTabList->a[bestJ].iCursor;
     testcase( bestPlan.plan.wsFlags & WHERE_INDEXED );
     testcase( bestPlan.plan.wsFlags & WHERE_TEMP_INDEX );
     if( bestPlan.plan.wsFlags & (WHERE_INDEXED|WHERE_TEMP_INDEX) ){
@@ -5189,7 +5190,6 @@ WhereInfo *sqlite3WhereBegin(
 
     pTabItem = &pTabList->a[pLevel->iFrom];
     pTab = pTabItem->pTab;
-    pLevel->iTabCur = pTabItem->iCursor;
     pWInfo->nRowOut *= pLevel->plan.nRow;
     iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
     if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ){