]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not return SQLITE_IOERR when the user attempts to open a small file that is not...
authordan <dan@noemail.net>
Mon, 25 Mar 2013 14:31:39 +0000 (14:31 +0000)
committerdan <dan@noemail.net>
Mon, 25 Mar 2013 14:31:39 +0000 (14:31 +0000)
FossilOrigin-Name: bbcaab3e80d0ff776d8567094b137d1483b3377b

manifest
manifest.uuid
src/pager.c

index 5e9f5ad0990ea05da708e27438d53c96d133a2aa..01d74c7724a1064d4fd346e51c13779c84e3d41e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\scase\sin\sthe\spager\swhere\san\sxFetch()\sreference\swas\sbeing\sleaked\sfollowing\san\sOOM\serror.
-D 2013-03-25T13:50:49.946
+C Do\snot\sreturn\sSQLITE_IOERR\swhen\sthe\suser\sattempts\sto\sopen\sa\ssmall\sfile\sthat\sis\snot\sa\sdatabase\swith\smmap\senabled.\sInstead\sreturn\sSQLITE_NOTADB.
+D 2013-03-25T14:31:39.689
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 9a804abbd3cae82d196e4d33aba13239e32522a5
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -162,7 +162,7 @@ F src/os.h 782980cd0d840b4240a6e29ba9f8ef0ca0d750ca
 F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
 F src/os_unix.c 1e61abcb664f3430ce13e5c5f32b2b2e204a6f23
 F src/os_win.c 386f8c034b177b672f7819ddc5d80be6c8d593ac
-F src/pager.c 3da35f3287791354f170824fd847e75ba9f2a0dc
+F src/pager.c 2dd59f366b519d01d08b44f615058e7cfacd0bd7
 F src/pager.h 241d72dc0905df042da165f086d03505cb0bb50c
 F src/parse.y 5d5e12772845805fdfeb889163516b84fbb9ae95
 F src/pcache.c f8043b433a57aba85384a531e3937a804432a346
@@ -1039,7 +1039,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
 F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
-P 1431be95579160fb70408d43e17fc23c7b69ab4a
-R 2702651dc0367254a02a7905a85901b0
+P 5885ba6ce768658ec25b60747430d147b315b55c
+R c243df2223b3431445e14c1469df7b20
 U dan
-Z 4827c382c08dac8144315d5de3ed2c37
+Z 6b851eca8762089c75296a1160d8987e
index 37accb35b1a71315a86ccfad7969c7b274fca4ef..b4cdb9d207914c1fe38e5cf32a1a9890f98dd707 100644 (file)
@@ -1 +1 @@
-5885ba6ce768658ec25b60747430d147b315b55c
\ No newline at end of file
+bbcaab3e80d0ff776d8567094b137d1483b3377b
\ No newline at end of file
index d6e6b5b440b01ff27d17c506142098964b1ff30c..927126c393af332a650b06f349556d4edbbb4fb2 100644 (file)
@@ -5051,7 +5051,7 @@ int sqlite3PagerSharedLock(Pager *pPager){
     if( !pPager->tempFile && (
         pPager->pBackup 
      || sqlite3PcachePagecount(pPager->pPCache)>0 
-     || pPager->bUseFetch /* TODO: Currently required for xUnfetch(0) only. */
+     || pPager->bUseFetch
     )){
       /* The shared-lock has just been acquired on the database file
       ** and there are already pages in the cache (from a previous
@@ -5078,7 +5078,7 @@ int sqlite3PagerSharedLock(Pager *pPager){
       if( nPage>0 ){
         IOTRACE(("CKVERS %p %d\n", pPager, sizeof(dbFileVers)));
         rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24);
-        if( rc!=SQLITE_OK ){
+        if( rc!=SQLITE_OK && rc!=SQLITE_IOERR_SHORT_READ ){
           goto failed;
         }
       }else{