]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not report corruption if the the db size header field is greater than the file...
authordan <dan@noemail.net>
Wed, 9 Feb 2011 18:19:20 +0000 (18:19 +0000)
committerdan <dan@noemail.net>
Wed, 9 Feb 2011 18:19:20 +0000 (18:19 +0000)
FossilOrigin-Name: 00c4596f0b270120848ab8d06dcdec7813a9a315

configure [changed mode: 0644->0755]
install-sh [changed mode: 0644->0755]
manifest
manifest.uuid
src/btree.c
test/filefmt.test

old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 693eebf1cd53942d3251c9956a24e9e4aa5c8f64..84c755fdc6dd95d41fa90ef9860108c15af327d7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Update\sMakefile.in\sfor\sfts3_aux\schanges.
-D 2011-02-09T15:25:17
+C Do\snot\sreport\scorruption\sif\sthe\sthe\sdb\ssize\sheader\sfield\sis\sgreater\sthan\sthe\sfile\ssize\son\sdisk\sunless\sthe\stwo\schange-counter\sheader\sfields\sare\sidentical.\sFix\sfor\sticket\s[89b8c9ac54].
+D 2011-02-09T18:19:20.526
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 27701a1653595a1f2187dc61c8117e00a6c1d50f
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -22,7 +22,7 @@ F art/src_logo.gif 9341ef09f0e53cd44c0c9b6fc3c16f7f3d6c2ad9
 F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977
 F config.h.in 868fdb48c028421a203470e15c69ada15b9ba673
 F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55
-F configure c38c1947db7ed4adaed2affcb09cea9d3acd5a9a
+F configure c38c1947db7ed4adaed2affcb09cea9d3acd5a9a x
 F configure.ac 87a3c71bbe9c925381c154413eea7f3cdc397244
 F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
 F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538
@@ -98,7 +98,7 @@ F ext/rtree/rtree_util.tcl 06aab2ed5b826545bf215fff90ecb9255a8647ea
 F ext/rtree/sqlite3rtree.h 1af0899c63a688e272d69d8e746f24e76f10a3f0
 F ext/rtree/tkt3363.test 142ab96eded44a3615ec79fba98c7bde7d0f96de
 F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
-F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
+F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
 F main.mk 54190fab7cdba523e311c274c95ea480f32abfb5
 F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
@@ -120,7 +120,7 @@ F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
 F src/backup.c 6728d6d48d55b449af76a3e51c0808849cb32a2e
 F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef
 F src/btmutex.c 96a12f50f7a17475155971a241d85ec5171573ff
-F src/btree.c cefe096650179dc4c5d876e7a27593ff1e6a86ed
+F src/btree.c ca9f44866554f634c12806635bc5b063d70bca9b
 F src/btree.h e2f2cd9933bf30724f53ffa12c4c5a3a864bbd6e
 F src/btreeInt.h 20f73dc93b1eeb83afd7259fbc6bd7dcf2df7fe4
 F src/build.c 00a327120d81ace6267e714ae8010c997d55de5d
@@ -381,7 +381,7 @@ F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7
 F test/expr.test 620a636cf7b7d4e5834a0b9d83a4da372e24a7b7
 F test/fallocate.test 43dc34b8c24be6baffadc3b4401ee15710ce83c6
 F test/filectrl.test 97003734290887566e01dded09dc9e99cb937e9e
-F test/filefmt.test f77c92141960b7933bc6691631d2ad62257ef40a
+F test/filefmt.test f178cfc29501a14565954c961b226e61877dd32c
 F test/fkey1.test 01c7de578e11747e720c2d9aeef27f239853c4da
 F test/fkey2.test 080969fe219b3b082b0e097ac18c6af2e5b0631f
 F test/fkey3.test 42f88d6048d8dc079e2a8cf7baad1cc1483a7620
@@ -906,7 +906,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 5f2ec44b22062ee9d31e20806fcec0101675aced
-R e5c468e38ee773cee40e47d90d451cc6
-U shaneh
-Z 84b69593f1501434fe8b6b49b241ee91
+P 38b7cb33c55c1498618721b3a11a35559b755fb2
+R c96c132b43022b566b312ce11044abe1
+U dan
+Z 97626d5db63dee29501d14b760c6105d
index aadb5e3b5a812dff229416e166f6370952412307..7c63783742abe268eb20637ee60017a900b7af55 100644 (file)
@@ -1 +1 @@
-38b7cb33c55c1498618721b3a11a35559b755fb2
\ No newline at end of file
+00c4596f0b270120848ab8d06dcdec7813a9a315
\ No newline at end of file
index 2c6014bdc134a7f84c7e93450b8e9e8a71a9a756..f5960da381308933be8298f5cf8c04064222ca27 100644 (file)
@@ -2381,7 +2381,7 @@ static int lockBtree(BtShared *pBt){
                                    pageSize-usableSize);
       return rc;
     }
-    if( (pBt->db->flags & SQLITE_RecoveryMode)==0 && nPageHeader>nPageFile ){
+    if( (pBt->db->flags & SQLITE_RecoveryMode)==0 && nPage>nPageFile ){
       rc = SQLITE_CORRUPT_BKPT;
       goto page1_init_failed;
     }
index 16b459630c3d67508b4a195ed577dd25fbcba993..72edbeebc79b844d4cd01099ba27f0413c8b60a3 100644 (file)
@@ -193,4 +193,24 @@ db close
 sqlite3 db test.db
 integrity_check filefmt-2.2.7
 
+#--------------------------------------------------------------------------
+# Check that ticket 89b8c9ac54 is fixed. Before the fix, the SELECT 
+# statement would return SQLITE_CORRUPT. The database file was not actually
+# corrupted, but SQLite was reporting that it was.
+#
+db close
+forcedelete test.db
+sqlite3 db test.db
+do_execsql_test filefmt-3.1 {
+  PRAGMA auto_vacuum = 1;
+  CREATE TABLE t1(a, b);
+} {}
+do_test filefmt-3.2 { 
+  sql36231 { DROP TABLE t1 } 
+} {}
+do_execsql_test filefmt-3.3 {
+  SELECT * FROM sqlite_master;
+  PRAGMA integrity_check;
+} {ok}
+
 finish_test