]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Catch an IO error case introduced by (3808). (CVS 3809)
authordanielk1977 <danielk1977@noemail.net>
Thu, 5 Apr 2007 08:40:32 +0000 (08:40 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Thu, 5 Apr 2007 08:40:32 +0000 (08:40 +0000)
FossilOrigin-Name: 383a08e26083964e79bfe22156f5f554522fa1fb

manifest
manifest.uuid
src/pager.c

index 53516e84338a3a8f003e1494cc656938a0887645..774ec0fbabe2b661423e3a88e1958f62b503f315 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Zero\scached\spages\slocated\sbeyond\sthe\send\sof\sthe\sfile\sbefore\sreturning\sthem.\sTicket\s#2285.\s(CVS\s3808)
-D 2007-04-05T05:46:14
+C Catch\san\sIO\serror\scase\sintroduced\sby\s(3808).\s(CVS\s3809)
+D 2007-04-05T08:40:32
 F Makefile.in 29fbf08ce0989973bfed0b5a052a6bdf3e60fd0a
 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -86,7 +86,7 @@ F src/os_unix.c 13c6f73a7b0c2c6c131c97ea26274db101b594cd
 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
 F src/os_win.c c9a99524d6b2bdec636264cad1b67553925e3309
 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
-F src/pager.c 1808ab8f0d96f9db663ae72f1430d7f03e944183
+F src/pager.c 90c1b538c55b55ab4344aea35dd00e64cb70a7fa
 F src/pager.h e79a24cf200b8771366217f5bca414f5b7823f42
 F src/parse.y 207ab04273ae13aa4a729b96008d294d5f334ab3
 F src/pragma.c 3b992b5b2640d6ae25cef05aa6a42cd1d6c43234
@@ -450,7 +450,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 25f49acc5662ed8dd321b83a60aeeab93a37e129
-R 251ec34a8be2bb7fab2cf227d3aa0f5e
+P 5180810eeaa3dfe3d934af0732a920ae117ec69f
+R fa9d750859a9dcc77798d46c4d2af406
 U danielk1977
-Z cf8f427e30b9108b742d861c8c1c1fa0
+Z e261a0bded6d94427e4a7769f391adc9
index 36d33793836ddb7841a71b219aa09f4cd620175e..41619a7ba18650060aba1a0d8bd45291e491161f 100644 (file)
@@ -1 +1 @@
-5180810eeaa3dfe3d934af0732a920ae117ec69f
\ No newline at end of file
+383a08e26083964e79bfe22156f5f554522fa1fb
\ No newline at end of file
index 19ebc8746581e665afb93f14fe9fd30baa2ab434..a0d6e0db2af2e8bba4752c603041032f0c2118d3 100644 (file)
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.317 2007/04/05 05:46:14 danielk1977 Exp $
+** @(#) $Id: pager.c,v 1.318 2007/04/05 08:40:32 danielk1977 Exp $
 */
 #ifndef SQLITE_OMIT_DISKIO
 #include "sqliteInt.h"
@@ -3034,6 +3034,12 @@ int sqlite3PagerAcquire(Pager *pPager, Pgno pgno, DbPage **ppPage, int clrFlag){
       ** database file. Zero such pages before returning. Not doing this 
       ** was causing the problem reported in ticket #2285.
       */
+      if( pPager->errCode ){
+        /* This case catches an IO error in sqlite3PagerPagecount(). If
+        ** the error occured, PagerPagecount() returned 0.
+        */
+        return pPager->errCode;
+      }
       memset(PGHDR_TO_DATA(pPg), 0, pPager->pageSize);
     }
     TEST_INCR(pPager->nHit);