-C Documentation\schanges\sin\spreparation\sfor\sthe\srelease\sof\s3.2.6.\s(CVS\s2698)
-D 2005-09-16T02:55:14
+C Fix\san\sauto-vacuum\sproblem\swith\sthe\sPENDING_BYTE\spage.\sAlso\slink\sthe\sTcl\nvariable\ssqlite_pending_byte\sto\sthe\sinternal\spending-byte\slocation\swhen\sin\stest\smode.\s(CVS\s2700)
+D 2005-09-16T09:52:29
F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F src/analyze.c 43a2d91242bdd71b6c299378f6b11e896ee5e43d
F src/attach.c 4b21689700a72ae281fa85dbaff06b2a62bd49ee
F src/auth.c 31e2304bef67f44d635655f44234387ea7d21454
-F src/btree.c a1ee183067f20eb5ba33ca45ed47acbc7214fe44
+F src/btree.c b2dedc955bc1778f5e6b23ae4c26625fc24f15d0
F src/btree.h 1ed561263ca0e335bc3e81d761c9d5ff8c22f61e
F src/build.c 74653e045581bfbadb8b35a0cb38a62f4a2c850e
F src/callback.c 9a1162c8f9dae9fad6d548339669aacb5f6cf76b
F src/legacy.c d58ea507bce885298a2c8c3cbb0f4bff5d47830b
F src/main.c bf88855445d365b497070d85e3faa0579a9edb91
F src/md5.c 7ae1c39044b95de2f62e066f47bb1deb880a1070
-F src/os.h c9fd9f92f176a5ea22e0101fcc1e85d532844dd1
+F src/os.h 5a0a42555a750f334b7da973776803a0e3cc263a
F src/os_common.h bd6ede01998c19dbfd3c21fbfd13f4b9532dd7df
F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c
F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3
F src/table.c 25b3ff2b39b7d87e8d4a5da0713d68dfc06cbee9
F src/tclsqlite.c ac94682f9e601dd373912c46414a5a842db2089a
F src/test1.c b569b60e35f0e3ea20e5ebfaf6e522a01c08d481
-F src/test2.c 4f89ffd7aa96dfbd4b764e62bb823670231554a0
+F src/test2.c f5b438bc80110ef17a248f09b58096d7d81d602e
F src/test3.c f4e6a16a602091696619a1171bda25c0e3df49f7
F src/test4.c a8fd681e139e1c61f22a77d07fc3a99cb28fff3f
F src/test5.c 64f08b2a50ef371a1bd68ff206829e7b1b9997f5
F test/attachmalloc.test cdb26c42850f04698377ccec05f5fa89d987837c
F test/auth.test 973ae7274eae32c4453fbbcbd0ec2b80c5b1eeb3
F test/autoinc.test 395fbac8bc158d3599995c73bfb15c418a5429f0
-F test/autovacuum.test d2d0b2b86fd3b487d1e100fafcb03b1af6c23057
+F test/autovacuum.test 9471d58a08b14dc0d2c15b87583c46d1744343d6
F test/autovacuum_crash.test 05a63b8805b20cfba7ace82856ce4ccdda075a31
F test/autovacuum_ioerr.test 9cf27275ca47b72e188a47c53b61b6d583a01d24
F test/autovacuum_ioerr2.test 2f8a3fb31f833fd0ca86ad4ad98913c73e807572
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 6017b1962517eb206183042bbb718925d9819063
-R 4df1cc59dde685a8213cfe530f8669ae
-U drh
-Z 71dca7c577320c1b910b1be05beabb55
+P 243f455c7c4e5c0c56406c197fa78088bc3659ca
+R ae1b2d7426cc1dc2c291ee57cc0bc2b2
+U danielk1977
+Z 374ff94d0d685dd8205cbb0751850154
-243f455c7c4e5c0c56406c197fa78088bc3659ca
\ No newline at end of file
+9115e0621d1fdc5a89a0288b87c0a4ce1e4b50c6
\ No newline at end of file
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: btree.c,v 1.266 2005/09/08 14:17:20 drh Exp $
+** $Id: btree.c,v 1.267 2005/09/16 09:52:29 danielk1977 Exp $
**
** This file implements a external (disk-based) database using BTrees.
** For a detailed discussion of BTrees, refer to
origSize = sqlite3pager_pagecount(pPager);
nPtrMap = (nFreeList-origSize+PTRMAP_PAGENO(pgsz, origSize)+pgsz/5)/(pgsz/5);
finSize = origSize - nFreeList - nPtrMap;
- if( origSize>PENDING_BYTE_PAGE(pBt) && finSize<=PENDING_BYTE_PAGE(pBt) ){
+ if( origSize>=PENDING_BYTE_PAGE(pBt) && finSize<=PENDING_BYTE_PAGE(pBt) ){
finSize--;
if( PTRMAP_ISPAGE(pBt->usableSize, finSize) ){
finSize--;
** 1GB boundary.
**
*/
+#ifndef SQLITE_TEST
#define PENDING_BYTE 0x40000000 /* First byte past the 1GB boundary */
-/* #define PENDING_BYTE 0x5400 // Page 22 - for testing */
+#else
+/* Defined in test2.c (pager tests) */
+extern unsigned int sqlite3_pending_byte;
+#define PENDING_BYTE sqlite3_pending_byte
+#endif
+
#define RESERVED_BYTE (PENDING_BYTE+1)
#define SHARED_FIRST (PENDING_BYTE+2)
#define SHARED_SIZE 510
** is not included in the SQLite library. It is used for automated
** testing of the SQLite library.
**
-** $Id: test2.c,v 1.32 2005/09/09 10:46:19 drh Exp $
+** $Id: test2.c,v 1.33 2005/09/16 09:52:29 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "os.h"
}
#endif
+#ifdef SQLITE_TEST
+unsigned int sqlite3_pending_byte = 0x0010000;
+#endif
+
/*
** Register commands with the TCL interpreter.
*/
(char*)&sqlite3_diskfull_pending, TCL_LINK_INT);
Tcl_LinkVar(interp, "sqlite_diskfull",
(char*)&sqlite3_diskfull, TCL_LINK_INT);
+ Tcl_LinkVar(interp, "sqlite_pending_byte",
+ (char*)&sqlite3_pending_byte, TCL_LINK_INT);
Tcl_LinkVar(interp, "pager_pagesize",
(char*)&test_pagesize, TCL_LINK_INT);
return TCL_OK;
# This file implements regression tests for SQLite library. The
# focus of this file is testing the SELECT statement.
#
-# $Id: autovacuum.test,v 1.18 2005/09/08 10:37:01 drh Exp $
+# $Id: autovacuum.test,v 1.19 2005/09/16 09:52:30 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
"
} {}
set root_page_list [list]
+set pending_byte_page [expr ($::sqlite_pending_byte / 1024) + 1]
for {set i 3} {$i<=532} {incr i} {
# 207 and 412 are pointer-map pages.
- if { $i!=207 && $i!=412 } {
+ if { $i!=207 && $i!=412 && $i != $pending_byte_page} {
lappend root_page_list $i
}
}
+if {$i >= $pending_byte_page} {
+ lappend root_page_list $i
+}
do_test autovacuum-2.4.5 {
for {set i 11} {$i<=530} {incr i} {
execsql "CREATE TABLE av$i (x)"
do_test autovacuum-2.4.6 {
execsql COMMIT;
file_pages
-} 561
+} [expr 561 + (($i >= $pending_byte_page)?1:0)]
integrity_check autovacuum-2.4.6
do_test autovacuum-2.4.7 {
execsql BEGIN