-C Pager\sis\sworking,\smostly.\s(CVS\s211)
-D 2001-04-15T00:37:09
+C Working\son\sthe\spager\s(CVS\s212)
+D 2001-04-15T02:27:25
F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4
F Makefile.in ac01d6145714b0d1c9e99382caf03cf30d6f4c8d
F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958
F src/expr.c c4c24c3af1eba094a816522eb0e085bed518ee16
F src/insert.c aa528e20a787af85432a61daaea6df394bd251d7
F src/main.c 92ce30a89f622ba36cc8b7d912829e14a480722c
-F src/pager.c 52dc932c937cfd5ccdd3c40527ea57878994a99c
+F src/pager.c cc49d7e22a4fc0264f584d7938f990a1897f7edd
F src/pager.h 8678d9a97fdf1c111b619a13a351e5c8ab97cb81
F src/parse.y 8fc096948994a7ffbf61ba13129cc589f794a9cb
F src/printf.c b1e22a47be8cdf707815647239991e08e8cb69f9
F test/lock.test bca7d53de73138b1f670a2fbdb1f481ff7eaa45a
F test/main.test da635f9e078cd21ddf074e727381a715064489ff
F test/malloc.test 3daa97f6a9577d8f4c6e468b274333af19ce5861
-F test/pager.test 2317ccf5821f15a637b84fa5f4d36b4c85a52a12
+F test/pager.test 4c27be3e0da89caa36fa3c2b84468785f330acca
F test/printf.test 4c71871e1a75a2dacb673945fc13ddb30168798f
F test/rowid.test 128453599def7435e988216f7fe89c7450b8a9a3
F test/select1.test 223507655cdb4f9901d83fa7f5c5328e022c211f
F www/sqlite.tcl cb0d23d8f061a80543928755ec7775da6e4f362f
F www/tclsqlite.tcl 06f81c401f79a04f2c5ebfb97e7c176225c0aef2
F www/vdbe.tcl 0c8aaa529dd216ccbf7daaabd80985e413d5f9ad
-P 42c2f3fe68c8a6bab96e035371ecd64296c5491f
-R 558a8ad440acd3c96149b89f77d45a0d
+P f82fa7070ae281804c019e6b05cd767dadaf0827
+R 6b66dff388a84887995d516ce20e212a
U drh
-Z 6080de1bb9d6e86286ceffe08ee69ef0
+Z cd993793033a1da271251878dcd01e6e
-f82fa7070ae281804c019e6b05cd767dadaf0827
\ No newline at end of file
+1f07abe46e2de8c5d9659bd5a78efe4ce23144ae
\ No newline at end of file
** all writes in order to support rollback. Locking is used to limit
** access to one or more reader or on writer.
**
-** @(#) $Id: pager.c,v 1.3 2001/04/15 00:37:09 drh Exp $
+** @(#) $Id: pager.c,v 1.4 2001/04/15 02:27:25 drh Exp $
*/
#include "sqliteInt.h"
#include "pager.h"
pPager->nRef = 0;
pPager->dbSize = -1;
pPager->nPage = 0;
- pPager->mxPage = mxPage>10 ? mxPage : 10;
+ pPager->mxPage = mxPage>5 ? mxPage : 10;
pPager->state = SQLITE_UNLOCK;
pPager->errMask = 0;
pPager->pFirst = 0;
pPager->pAll->pPrevAll = pPg;
}
pPg->pPrevAll = 0;
+ pPager->pAll = pPg;
pPager->nPage++;
}else{
/* Recycle an older page. First locate the page to be recycled.
int sqlitepager_write(void *pData){
PgHdr *pPg = DATA_TO_PGHDR(pData);
Pager *pPager = pPg->pPager;
- int rc;
+ int rc = SQLITE_OK;
if( pPager->errMask ){
return pager_errcode(pPager);
# This file implements regression tests for SQLite library. The
# focus of this script is page cache subsystem.
#
-# $Id: pager.test,v 1.1 2001/04/15 00:37:21 drh Exp $
+# $Id: pager.test,v 1.2 2001/04/15 02:27:25 drh Exp $
set testdir [file dirname $argv0]
do_test pager-2.29 {
page_read $::g1
} {Page-One}
-
do_test pager-2.99 {
pager_close $::p1
} {}
+do_test pager-3.1 {
+ set v [catch {
+ set ::p1 [pager_open ptf1.db 5]
+ } msg]
+ if {$v} {lappend v $msg}
+ set v
+} {0}
+do_test pager-3.2 {
+ pager_pagecount $::p1
+} {1}
+do_test pager-3.3 {
+ set v [catch {
+ set ::g(1) [page_get $::p1 1]
+ } msg]
+ if {$v} {lappend v $msg}
+ set v
+} {0}
+do_test pager-3.4 {
+ page_read $::g(1)
+} {Page-One}
+do_test pager-3.5 {
+ for {set i 2} {$i<=20} {incr i} {
+ set gx [page_get $::p1 $i]
+ page_write $gx "Page-$i"
+ page_unref $gx
+ }
+ pager_commit $::p1
+} {}
+for {set i 2} {$i<=20} {incr i} {
+ do_test pager-3.6.[expr {$i-1}] [subst {
+ set gx \[page_get $::p1 $i\]
+ set v \[page_read \$gx\]
+ page_unref \$gx
+ set v
+ }] "Page-$i"
+}
+do_test pager-3.99 {
+ pager_close $::p1
+} {}
+
} ;# end if( not mem: and has pager_open command );