From: drh Date: Tue, 14 Mar 2006 12:59:10 +0000 (+0000) Subject: Move the PENDING_PAGE to a very large value if disk I/O is omitted. (CVS 3135) X-Git-Tag: version-3.6.10~3032 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fe9a9145d173b85a65e05fd03736f238215bc021;p=thirdparty%2Fsqlite.git Move the PENDING_PAGE to a very large value if disk I/O is omitted. (CVS 3135) FossilOrigin-Name: f07181739f82b0d23f934f51b97e67c32efe6f42 --- diff --git a/manifest b/manifest index d293f4be0a..352317d8cd 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\ssure\ssqlite3FindCollSeq()\sreturns\sNULL\safter\sa\smalloc()\sfailure.\s(CVS\s3134) -D 2006-03-14T11:08:28 +C Move\sthe\sPENDING_PAGE\sto\sa\svery\slarge\svalue\sif\sdisk\sI/O\sis\somitted.\s(CVS\s3135) +D 2006-03-14T12:59:10 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -34,7 +34,7 @@ F src/alter.c 451b34fc4eb2475ca76a2e86b21e1030a9428091 F src/analyze.c 7d2b7ab9a9c2fd6e55700f69064dfdd3e36d7a8a F src/attach.c d73a3505de3fb9e373d0a158978116c4212031d0 F src/auth.c 9ae84d2d94eb96195e04515715e08e85963e96c2 -F src/btree.c 96a383ddf9a391d017bfa36c89dc528ccfc5d9bb +F src/btree.c caf4b7477b6667dcf4ca4eb9024826cab6877d87 F src/btree.h 40055cfc09defd1146bc5b922399c035f969e56d F src/build.c 4bd8471e4f20f5623c15fd71d2aaee0f66e394d8 F src/callback.c d8c5ab1cd6f3b7182b2ee63bf53f1b69c0f74306 @@ -355,7 +355,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 5ddc09a5e4d81a73228cd8038c6dc345b1fdf4af -R a43a2ff24d785747f0cbefa76b43ba7a +P 0e05355f3ca795f0ab959553e6c9462e5483c3b2 +R 8b2158249132ee17ae57b7db010b8498 U drh -Z ab1fe4d8ebe166f5ed63d7ad4e8eac3a +Z f8486d741b67f811d2affb3cc9c5f176 diff --git a/manifest.uuid b/manifest.uuid index 8b18ba9293..c977b91f45 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0e05355f3ca795f0ab959553e6c9462e5483c3b2 \ No newline at end of file +f07181739f82b0d23f934f51b97e67c32efe6f42 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 76fb26304a..eb32dba3ea 100644 --- a/src/btree.c +++ b/src/btree.c @@ -9,7 +9,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: btree.c,v 1.319 2006/03/13 14:28:05 drh Exp $ +** $Id: btree.c,v 1.320 2006/03/14 12:59:10 drh Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** For a detailed discussion of BTrees, refer to @@ -469,8 +469,15 @@ static void put4byte(unsigned char *p, u32 v){ /* The database page the PENDING_BYTE occupies. This page is never used. ** TODO: This macro is very similary to PAGER_MJ_PGNO() in pager.c. They ** should possibly be consolidated (presumably in pager.h). +** +** If disk I/O is omitted (meaning that the database is stored purely +** in memory) then there is no pending byte. */ -#define PENDING_BYTE_PAGE(pBt) ((PENDING_BYTE/(pBt)->pageSize)+1) +#ifdef SQLITE_OMIT_DISKIO +# define PENDING_BYTE_PAGE(pBt) 0x7fffffff +#else +# define PENDING_BYTE_PAGE(pBt) ((PENDING_BYTE/(pBt)->pageSize)+1) +#endif /* ** A linked list of the following structures is stored at BtShared.pLock.