]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Changes to the backup functionality so that it works better with codecs. (CVS 6783)
authordrh <drh@noemail.net>
Thu, 18 Jun 2009 20:52:47 +0000 (20:52 +0000)
committerdrh <drh@noemail.net>
Thu, 18 Jun 2009 20:52:47 +0000 (20:52 +0000)
FossilOrigin-Name: 87d6796d986e4d5238252e704d936ab4407a0265

manifest
manifest.uuid
src/pager.c

index 5e2dbfc2b3151c47d3128ed4885948140dd5492b..08b15af52ffa81ac0a21008ffd4d05a256ab6f6b 100644 (file)
--- 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
index c9490968e973c155add2205661bd9ef25a496b63..2dc95f1056ab42e4b245ca936df6023b7bf6b95d 100644 (file)
@@ -1 +1 @@
-ed08b53cd64c4ff2c94ef4e48441c5236041c9ca
\ No newline at end of file
+87d6796d986e4d5238252e704d936ab4407a0265
\ No newline at end of file
index 60ef5678f420a42ba183077c34e0bf20d6894eaf..c532c30a0f24ab5d591ccdd02a34edd8bafc5576 100644 (file)
@@ -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)));