]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not raise an SQLITE_CORRUPT error in Recoverymode if the database size
authordrh <drh@noemail.net>
Sun, 20 Feb 2011 03:27:52 +0000 (03:27 +0000)
committerdrh <drh@noemail.net>
Sun, 20 Feb 2011 03:27:52 +0000 (03:27 +0000)
in the header is larger than the physical file size.  This is a cherrypick
of checkin [114640d920e16c8]

FossilOrigin-Name: 7701b07759d63537408a68bac85cb1b8b27160b7

manifest
manifest.uuid
src/btree.c

index 4b19f09aeadcd48db0e5918a7b00f01d7c1be653..c83c67403a4df6b265075c9d6ce633c0e8238c02 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Backport\sthe\ssqlite3.h\sgenerator\sfix\sso\sthat\sit\sworks\swith\snewer\sversions\nof\sFossil.\s\sSee\s[3513bf6ee090d9b]\sfor\sthe\soriginal.
-D 2011-02-20T03:22:51.510
+C Do\snot\sraise\san\sSQLITE_CORRUPT\serror\sin\sRecoverymode\sif\sthe\sdatabase\ssize\nin\sthe\sheader\sis\slarger\sthan\sthe\sphysical\sfile\ssize.\s\sThis\sis\sa\scherrypick\nof\scheckin\s[114640d920e16c8]
+D 2011-02-20T03:27:52.324
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 4547616ad2286053af6ccccefa242dc925e49bf0
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -122,7 +122,7 @@ F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
 F src/backup.c d5b0137bc20327af08c14772227cc35134839c30
 F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef
 F src/btmutex.c 96a12f50f7a17475155971a241d85ec5171573ff
-F src/btree.c b70bf1dc563ec532851715ce51aa1ea0c0c592b9
+F src/btree.c a27c3b41082889fc258278ba501ff2594dda2a41
 F src/btree.h 10f9296bf4edf034f5adce921b7b4383a56a1c90
 F src/btreeInt.h c424f2f131cc61ddf130f9bd736b3df12c8a51f0
 F src/build.c 00a327120d81ace6267e714ae8010c997d55de5d
@@ -897,14 +897,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P e6e540ab7779f5363bf0c93a9e1482b0f31782ce
-R fe1521f9ffa5f711895347a15e320bc3
+P 29597a71d0848cd5faeb68b606a9127910c8dc57
+R 4765ab892066a2cf596b52ac188daaa7
 U drh
-Z 7b3d563c815de0818c91d3314970b550
+Z 0fd913631bd65c1d6b88eece64aed780
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFNYIkOoxKgR168RlERAnuqAJ9SnzN8KWSap9MM0SrErbejIcEESQCfWvKk
-tS4dB1/H9sl4h03cKtPMKGk=
-=EK/3
+iD8DBQFNYIo8oxKgR168RlERAtxOAJ0W2UlkzgKSsQgJHB8/MuaurrnAOACeIEqH
+2d5x+c+4cCHEyAOLiV5KRVk=
+=mpQI
 -----END PGP SIGNATURE-----
index 055cab8199bbe9dfccb5f65f2c18b416c075f840..f75cc684ef3cbd1ede4200d58c2e585bf3a8a8c0 100644 (file)
@@ -1 +1 @@
-29597a71d0848cd5faeb68b606a9127910c8dc57
\ No newline at end of file
+7701b07759d63537408a68bac85cb1b8b27160b7
\ No newline at end of file
index fcc8deb9224f96ffab1852b745fe311eadc4f9e6..bec19e315f220305412568e66654522492e25f14 100644 (file)
@@ -2386,7 +2386,7 @@ static int lockBtree(BtShared *pBt){
                                    pageSize-usableSize);
       return rc;
     }
-    if( nPageHeader>nPageFile ){
+    if( (pBt->db->flags & SQLITE_RecoveryMode)==0 && nPageHeader>nPageFile ){
       rc = SQLITE_CORRUPT_BKPT;
       goto page1_init_failed;
     }