-C Merge\sin\sthe\slatest\schanges\sand\sfixes\sfrom\strunk.
-D 2014-03-31T22:03:32.269
+C Fix\sa\scompiler\swarning\swhen\sSQLITE_DIRECT_OVERFLOW_READ\sis\sdefined.\nMinor\sperformance\senhancement\sand\ssize\sreduction.
+D 2014-03-31T23:57:41.627
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/backup.c a729e63cf5cd1829507cb7b8e89f99b95141bb53
F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb
F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7
-F src/btree.c 33338d61b912b5219fc5b466db8e0d7385c0b18b
+F src/btree.c b1d6309d6623f4ea8d9466aebd1ec84adc40cb9b
F src/btree.h d79306df4ed9181b48916737fe8871a4392c4594
-F src/btreeInt.h d1784d1e17d08d29e890190dbb9836fa64573381
+F src/btreeInt.h cf180d86b2e9e418f638d65baa425c4c69c0e0e3
F src/build.c 0d50ef95aad63f4c4fc47f3fa2670d4557c45db0
F src/callback.c 174e3c8656bc29f91d710ab61550d16eea34be98
F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P d8e1f75ddf10f3c0b21acd5455f90fdcea54a948 b3296267fb67b9f59719a37093253062edde3746
-R 6014daa58aba2f75bf5f17a4d16cbf23
+P f6211540c9d66a08dc580dd733e4f4a98968ae30
+R a9646e8cad6830bc030ac01ef7720050
U drh
-Z 6a8ee270f5925545ed8c5f82edf09850
+Z be4271c513a3efe06acb17f300ec9933
-f6211540c9d66a08dc580dd733e4f4a98968ae30
\ No newline at end of file
+96385dc460545807a5c8fcf6280a971700f84866
\ No newline at end of file
pCur->pKeyInfo = pKeyInfo;
pCur->pBtree = p;
pCur->pBt = pBt;
- pCur->curFlags = wrFlag ? BTCF_WriteFlag : 0;
+ assert( wrFlag==0 || wrFlag==BTCF_WriteFlag );
+ pCur->curFlags = wrFlag;
pCur->pNext = pBt->pCursor;
if( pCur->pNext ){
pCur->pNext->pPrev = pCur;
int iIdx = 0;
MemPage *pPage = pCur->apPage[pCur->iPage]; /* Btree page of current entry */
BtShared *pBt = pCur->pBt; /* Btree this cursor belongs to */
- int bEnd; /* True if reading to end of data */
+#ifdef SQLITE_DIRECT_OVERFLOW_READ
+ int bEnd; /* True if reading to end of data */
+#endif
assert( pPage );
assert( pCur->eState==CURSOR_VALID );
getCellInfo(pCur);
aPayload = pCur->info.pCell + pCur->info.nHeader;
nKey = (pPage->intKey ? 0 : (int)pCur->info.nKey);
+#ifdef SQLITE_DIRECT_OVERFLOW_READ
bEnd = (offset+amt==nKey+pCur->info.nData);
+#endif
if( NEVER(offset+amt > nKey+pCur->info.nData)
|| &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize]
/*
** Legal values for BtCursor.curFlags
*/
-#define BTCF_ValidNKey 0x01 /* True if info.nKey is valid */
-#define BTCF_ValidOvfl 0x02 /* True if aOverflow is valid */
-#define BTCF_AtLast 0x04 /* Cursor is pointing ot the last entry */
-#define BTCF_WriteFlag 0x08 /* True if a write cursor */
+#define BTCF_WriteFlag 0x01 /* True if a write cursor */
+#define BTCF_ValidNKey 0x02 /* True if info.nKey is valid */
+#define BTCF_ValidOvfl 0x04 /* True if aOverflow is valid */
+#define BTCF_AtLast 0x08 /* Cursor is pointing ot the last entry */
#define BTCF_Incrblob 0x10 /* True if an incremental I/O handle */
/*