diff --git a/manifest b/manifest index 600d9d81fe..175be09fce 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\snew\sextended\serror\scodes\sfor\sthe\satomic\swrite\sfile-controls. -D 2017-07-28T13:18:35.469 +C More\sprecise\sdetermination\sof\swhen\san\sin-memory\sjournal\sneeds\sto\sbe\nspilled\sto\sdisk. +D 2017-07-28T18:16:14.317 F Makefile.in d9873c9925917cca9990ee24be17eb9613a668012c85a343aef7e5536ae266e8 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 02b469e9dcd5b7ee63fc1fb05babc174260ee4cfa4e0ef2e48c3c6801567a016 @@ -424,7 +424,7 @@ F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3 F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944 -F src/memjournal.c 9b9e579226341e891a4657dc76fe2cec69734abcd23be0e42aa8764d88131f12 +F src/memjournal.c 6f3d36a0a8f72f48f6c3c722f04301ac64f2515435fa42924293e46fc7994661 F src/msvc.h 4942752b6a253116baaa8de75256c51a459a5e81 F src/mutex.c 8e45800ee78e0cd1f1f3fe8e398853307f4a085c F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85 @@ -1639,7 +1639,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P f9213e4864d0542be5489e03cf40c47d9127a86bbbbbabd963aa08525d5dc97b -R df00eb2b7872527f1e0cbc6920cf1993 +P 94a2004756ffe027b3495be91366750135c294a9c460edc9a1b4b9422dcc33bd +R 86ba3bf27ee71fb4aea5fe3f1aba5d47 U drh -Z ff0fbf0bcfb6efb6cc06622fd28cdbe1 +Z 81ac04bf34607e329fe9d94777807b23 diff --git a/manifest.uuid b/manifest.uuid index bc9a0c0efb..f196242728 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -94a2004756ffe027b3495be91366750135c294a9c460edc9a1b4b9422dcc33bd \ No newline at end of file +6a505bdd9347783d3d8105cb8185aa787801bad0c855b623cfd780fb406f0e7b \ No newline at end of file diff --git a/src/memjournal.c b/src/memjournal.c index 31ab5ef93f..3b0e7a6728 100644 --- a/src/memjournal.c +++ b/src/memjournal.c @@ -397,7 +397,15 @@ void sqlite3MemJournalOpen(sqlite3_file *pJfd){ int sqlite3JournalCreate(sqlite3_file *pJfd){ int rc = SQLITE_OK; MemJournal *p = (MemJournal*)pJfd; - if( p->pMethod==&MemJournalMethods && (p->nSpill>0 + if( p->pMethod==&MemJournalMethods && ( +#ifdef SQLITE_ENABLE_ATOMIC_WRITE + p->nSpill>0 +#else + /* While this appears to not be possible without ATOMIC_WRITE, the + ** paths are complex, so it seems prudent to leave the test in as + ** a NEVER(), in case our analysis is subtly flawed. */ + NEVER(p->nSpill>0) +#endif #ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE || (p->flags & SQLITE_OPEN_MAIN_JOURNAL) #endif