From: drh Date: Sat, 27 Jun 2015 23:55:20 +0000 (+0000) Subject: Make greater use of BtCursor.curIntKey. X-Git-Tag: version-3.8.11~106 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c75d886b051565c5a9533c7726fe7512de7edc86;p=thirdparty%2Fsqlite.git Make greater use of BtCursor.curIntKey. FossilOrigin-Name: 63998471d023dd846d5583ac856e2acc47ad41ea --- diff --git a/manifest b/manifest index 24c66a974b..e93f7ee73e 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sthe\sBtCursor.curIntKey\sfield\sand\suse\sit\sfor\sa\ssmall\ssize\sreduction\sand\nperformance\sboost. -D 2015-06-27T22:49:10.437 +C Make\sgreater\suse\sof\sBtCursor.curIntKey. +D 2015-06-27T23:55:20.211 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 285a0a234ed7610d431d91671c136098c2bd86a9 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -269,7 +269,7 @@ F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240 F src/backup.c ff743689c4d6c5cb55ad42ed9d174b2b3e71f1e3 F src/bitvec.c 5eb7958c3bf65210211cbcfc44eff86d0ded7c9d F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79 -F src/btree.c 124fb2cf3712a32e3cfec4441dac82218d267419 +F src/btree.c 8f86dae090ec737d71c31c2ed79e767bd3638bcb F src/btree.h 969adc948e89e449220ff0ff724c94bb2a52e9f1 F src/btreeInt.h 8ca7124af9ee2ce27747a4e5500c27a254dea8eb F src/build.c b3f15255d5b16e42dafeaa638fd4f8a47c94ed70 @@ -1364,7 +1364,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 291d9e0c328a7bd0f255b0b7e819ca2c909701a3 -R 2c201a19b31719b4111966366152c8e1 +P 4a17df139ac41e29c9a2e58afbd1238a5e94bd36 +R 951a5590bfe7a8b4e737119af9769202 U drh -Z 3864de7c8c7143c5030e74933e17298b +Z 51f9425184670e22671d083e0bae99bd diff --git a/manifest.uuid b/manifest.uuid index 7646601c90..02124d128b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4a17df139ac41e29c9a2e58afbd1238a5e94bd36 \ No newline at end of file +63998471d023dd846d5583ac856e2acc47ad41ea \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index f9dbfa14ad..a23bd853fc 100644 --- a/src/btree.c +++ b/src/btree.c @@ -620,7 +620,7 @@ static int saveCursorPosition(BtCursor *pCur){ ** table, then malloc space for and store the pCur->nKey bytes of key ** data. */ - if( 0==pCur->apPage[0]->intKey ){ + if( 0==pCur->curIntKey ){ void *pKey = sqlite3Malloc( pCur->nKey ); if( pKey ){ rc = sqlite3BtreeKey(pCur, 0, (int)pCur->nKey, pKey); @@ -633,7 +633,7 @@ static int saveCursorPosition(BtCursor *pCur){ rc = SQLITE_NOMEM; } } - assert( !pCur->apPage[0]->intKey || !pCur->pKey ); + assert( !pCur->curIntKey || !pCur->pKey ); if( rc==SQLITE_OK ){ btreeReleaseAllCursorPages(pCur); @@ -4987,7 +4987,7 @@ int sqlite3BtreeMovetoUnpacked( /* If the cursor is already positioned at the point we are trying ** to move to, then just return without doing any work */ if( pCur->eState==CURSOR_VALID && (pCur->curFlags & BTCF_ValidNKey)!=0 - && pCur->apPage[0]->intKey + && pCur->curIntKey ){ if( pCur->info.nKey==intKey ){ *pRes = 0; @@ -5022,7 +5022,8 @@ int sqlite3BtreeMovetoUnpacked( assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 ); return SQLITE_OK; } - assert( pCur->apPage[0]->intKey || pIdxKey ); + assert( pCur->apPage[0]->intKey==pCur->curIntKey ); + assert( pCur->curIntKey || pIdxKey ); for(;;){ int lwr, upr, idx, c; Pgno chldPg;