From: dan Date: Thu, 2 Apr 2015 09:06:21 +0000 (+0000) Subject: Fix a problem in vdbesort.c to do with caching unpacked records. X-Git-Tag: version-3.8.10~152^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=29f1a19cd96e8d7f72366492986cce2053df0deb;p=thirdparty%2Fsqlite.git Fix a problem in vdbesort.c to do with caching unpacked records. FossilOrigin-Name: 80a00539506c95443165a781d1d869205057ca6c --- diff --git a/manifest b/manifest index 8108693bf7..f9ce3a510d 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\slatest\strunk\schanges\swith\sthis\sbranch. -D 2015-04-01T18:22:26.384 +C Fix\sa\sproblem\sin\svdbesort.c\sto\sdo\swith\scaching\sunpacked\srecords. +D 2015-04-02T09:06:21.116 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 00d12636df7a5b08af09116bcd6c7bfd49b8b3b4 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -300,7 +300,7 @@ F src/vdbeapi.c 583d56b129dd27f12bed518270de9ebe521e6a75 F src/vdbeaux.c a20504ae52392459fa08402fda3f195f19d7c79d F src/vdbeblob.c 4f2e8e075d238392df98c5e03a64342465b03f90 F src/vdbemem.c c0dc81285b7571b0a31c40f17846fe2397ec1cd9 -F src/vdbesort.c 7b3684665ea51d642b0e664fa4d0b0d08d61d80c +F src/vdbesort.c 74a41fcd3adc22bc47ede68443d0b3e26ae13bb8 F src/vdbetrace.c 7e4222955e07dd707a2f360c0eb73452be1cb010 F src/vtab.c 62d49237bd8f3be4863815a39387b0f9897fa5e1 F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb @@ -1248,7 +1248,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 e403460b96814ac8cb976d58b27939b3bd3c61f9 30011ad2f55cfcacaf23a58ebcc17b17a7b9355e -R 768d1278a2c7aae9e472dc5791f2f6a1 +P 4621b2eef8be6d944f87de097bd11c649fe43333 +R 0796456518338cd116674974cfde4890 U dan -Z 2045741c9810a18232145862154fc073 +Z 0cef8df18e8711c69cda8f5613bc4995 diff --git a/manifest.uuid b/manifest.uuid index a5a195f19f..0941cff2b9 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4621b2eef8be6d944f87de097bd11c649fe43333 \ No newline at end of file +80a00539506c95443165a781d1d869205057ca6c \ No newline at end of file diff --git a/src/vdbesort.c b/src/vdbesort.c index 547dce2e65..f4b995c88a 100644 --- a/src/vdbesort.c +++ b/src/vdbesort.c @@ -1656,7 +1656,7 @@ static int vdbeMergeEngineStep( pReadr2 = &pMerger->aReadr[ pMerger->aTree[i ^ 0x0001] ]; bCached = 0; }else{ - bCached = (pReadr1->pFd!=0); + if( pReadr1->pFd ) bCached = 0; pMerger->aTree[i] = (int)(pReadr2 - pMerger->aReadr); pReadr1 = &pMerger->aReadr[ pMerger->aTree[i ^ 0x0001] ]; }