diff --git a/manifest b/manifest index 5e2dbfc2b3..08b15af52f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Move\scodec\smanagement\sfrom\sdatabase\sconnections\sinto\sthe\spager\sso\sthat\sit\nwill\swork\stogether\swith\sshared\scache.\s(CVS\s6782) -D 2009-06-18T17:22:39 +C Changes\sto\sthe\sbackup\sfunctionality\sso\sthat\sit\sworks\sbetter\swith\scodecs.\s(CVS\s6783) +D 2009-06-18T20:52:47 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 8b8fb7823264331210cddf103831816c286ba446 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -146,7 +146,7 @@ F src/os_common.h 8c61457df58f1a4bd5f5adc3e90e01b37bf7afbc F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 F src/os_unix.c b64129c296e480c2827606e206ea51bb30904626 F src/os_win.c 725c38a524d168ce280446ad8761d731bc516405 -F src/pager.c 5fee0ea97b1bd12a97006d64ddc9224f83fdbfde +F src/pager.c 4c21c7ac6777cca4efa1855070b099d2f964ec64 F src/pager.h 5aec418bf99f568b92ae82816a1463400513726d F src/parse.y bab89225c2543a350ef96995926520bbbd781aba F src/pcache.c 395f752a13574120bd7513a400ba02a265aaa76d @@ -736,7 +736,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746 -P 40a40e81b3ad80114422d6a48146e5fb27e2551d -R 9e4b8b3ab226d1138a21e4657cb77ee7 +P ed08b53cd64c4ff2c94ef4e48441c5236041c9ca +R 398bd4d99486dbc4ce2de243d75a2f75 U drh -Z 5171f5cb6ff49910af6921574145401f +Z c91ffb1e85d44ff0c9e62c342254c34c diff --git a/manifest.uuid b/manifest.uuid index c9490968e9..2dc95f1056 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ed08b53cd64c4ff2c94ef4e48441c5236041c9ca \ No newline at end of file +87d6796d986e4d5238252e704d936ab4407a0265 \ No newline at end of file diff --git a/src/pager.c b/src/pager.c index 60ef5678f4..c532c30a0f 100644 --- a/src/pager.c +++ b/src/pager.c @@ -18,7 +18,7 @@ ** file simultaneously, or one process from reading the database while ** another is writing. ** -** @(#) $Id: pager.c,v 1.594 2009/06/18 17:22:39 drh Exp $ +** @(#) $Id: pager.c,v 1.595 2009/06/18 20:52:47 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" @@ -1532,7 +1532,11 @@ static int pager_playback_one_page( if( pgno>pPager->dbFileSize ){ pPager->dbFileSize = pgno; } - sqlite3BackupUpdate(pPager->pBackup, pgno, aData); + if( pPager->pBackup ){ + CODEC1(pPager, aData, pPg->pgno, 3, rc=SQLITE_NOMEM); + sqlite3BackupUpdate(pPager->pBackup, pgno, aData); + CODEC1(pPager, aData, pPg->pgno, 0, rc=SQLITE_NOMEM); + } }else if( !isMainJrnl && pPg==0 ){ /* If this is a rollback of a savepoint and data was not written to ** the database and the page is not in-memory, there is a potential @@ -2937,7 +2941,7 @@ static int pager_write_pagelist(PgHdr *pList){ } /* Update any backup objects copying the contents of this pager. */ - sqlite3BackupUpdate(pPager->pBackup, pgno, (u8 *)pData); + sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)pList->pData); PAGERTRACE(("STORE %d page %d hash(%08x)\n", PAGERID(pPager), pgno, pager_pagehash(pList)));