]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an assert() failure that can occur if "journal_mode=off" is used in a build with...
authordanielk1977 <danielk1977@noemail.net>
Thu, 24 Apr 2008 12:37:40 +0000 (12:37 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Thu, 24 Apr 2008 12:37:40 +0000 (12:37 +0000)
FossilOrigin-Name: 709d17b19d343f45aa6c7684685ab58c67d83da0

manifest
manifest.uuid
src/pager.c

index 5598ca67493e16bd4bd9e5cdd025536404786730..10bdecbe4cbeaefc914f02e584057fca98d63be4 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\scrash\sthat\scan\sfollow\sa\smalloc()\sfailure\sin\smalloc7.test.\s(CVS\s5042)
-D 2008-04-24T12:36:35
+C Fix\san\sassert()\sfailure\sthat\scan\soccur\sif\s"journal_mode=off"\sis\sused\sin\sa\sbuild\swith\sthe\satomic-write\soptimization\senabled.\s(CVS\s5043)
+D 2008-04-24T12:37:40
 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
 F Makefile.in 25b3282a4ac39388632c2fb0e044ff494d490952
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -127,7 +127,7 @@ F src/os_unix.c fdec4e5ee5dd555a6ad4a69f38ab35f0788536b4
 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
 F src/os_win.c 3a60bddd07ea6f8adb2314dd5996ac97b988f403
 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
-F src/pager.c 21d426c65c9dcf5718423a967117e9450f238519
+F src/pager.c 90df64b9c18545e3eb6d8d1dccf95dafe3373b8f
 F src/pager.h 45ec2188593afd48a25c743529646771d75e83e4
 F src/parse.y fc4bd35c6088901f7c8daead26c6fb11c87d22e7
 F src/pragma.c 2e4bb2e76e48a32750529fdc4bfe86ac5f54e01b
@@ -635,7 +635,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P 6039328fe05aaf9380d545e84dfabccb32a4d8ea
-R f4eeaf9013dd9137ee2d4c5947b895d2
+P 85eedad186327a1f0b0983413b833efd41640d0e
+R 087210ad9cdbf484acaa720eedf1863a
 U danielk1977
-Z 8fa4d85c721391f2bcef9a82f5a12b06
+Z 7afb9a7733e0e859156833cb3385ab87
index 4fb920b89dc2d1a1320a60897635343b694a77b9..595f947098bd0cf4b3c74cdc5cd82c6d375791ba 100644 (file)
@@ -1 +1 @@
-85eedad186327a1f0b0983413b833efd41640d0e
\ No newline at end of file
+709d17b19d343f45aa6c7684685ab58c67d83da0
\ No newline at end of file
index 5c660994b69f0c49effe06d884d2224b2b727761..6c6fca4c59d94aa78d0aa9875d8192a5bf0dfe9a 100644 (file)
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.433 2008/04/22 17:15:18 drh Exp $
+** @(#) $Id: pager.c,v 1.434 2008/04/24 12:37:40 danielk1977 Exp $
 */
 #ifndef SQLITE_OMIT_DISKIO
 #include "sqliteInt.h"
@@ -4595,10 +4595,12 @@ int sqlite3PagerCommitPhaseOne(
     */
     int useAtomicWrite = (
         !zMaster && 
+        pPager->journalOpen &&
         pPager->journalOff==jrnlBufferSize(pPager) && 
         nTrunc==0 && 
         (0==pPager->pDirty || 0==pPager->pDirty->pDirty)
     );
+    assert( pPager->journalOpen || pPager->journalMode==PAGER_JOURNALMODE_OFF );
     if( useAtomicWrite ){
       /* Update the nRec field in the journal file. */
       int offset = pPager->journalHdr + sizeof(aJournalMagic);