Do not open a rollback journal file when the journal_mode is OFF, even if

such a file exists on disk. See
[forum/forumpost/ec2a102440|forum post ec2a102440] for a description.  I so
far have been unable to find any harm to come of the problem, other than the
assertion fault when in DEBUG mode.

FossilOrigin-Name: fdf9ed665b2fb07d26f3852bfd2170f2fb56851edd2851d47672116a8ea58463
This commit is contained in:
drh 2022-01-02 19:32:43 +00:00
parent d0fa3484c6
commit bda4d20080
3 changed files with 8 additions and 8 deletions

View File

@ -1,5 +1,5 @@
C Improve\sformatting\sof\san\sassert().\s\sNo\sfunctional\schanges.
D 2022-01-02T19:10:49.431
C Do\snot\sopen\sa\srollback\sjournal\sfile\swhen\sthe\sjournal_mode\sis\sOFF,\seven\sif\nsuch\sa\sfile\sexists\son\sdisk.\sSee\n[forum/forumpost/ec2a102440|forum\spost\sec2a102440]\sfor\sa\sdescription.\s\sI\sso\nfar\shave\sbeen\sunable\sto\sfind\sany\sharm\sto\scome\sof\sthe\sproblem,\sother\sthan\sthe\nassertion\sfault\swhen\sin\sDEBUG\smode.
D 2022-01-02T19:32:43.030
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -537,7 +537,7 @@ F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
F src/os_unix.c f5ad51cfd024116db8531feab9efd831c2621436dca1464e4ff1e8af9bf3252e
F src/os_win.c 77d39873836f1831a9b0b91894fec45ab0e9ca8e067dc8c549e1d1eca1566fe9
F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
F src/pager.c a860d7c8540d0fa67796a8d23bc3e7fd81275040281dafa708040818147a44c9
F src/pager.c 55a9a8c745c47a49e6541b1d634f6152e3f72f76c6dbb04fe24413986a928091
F src/pager.h 4bf9b3213a4b2bebbced5eaa8b219cf25d4a82f385d093cd64b7e93e5285f66f
F src/parse.y 761b5d30a7ea9bd2db3b3571438cfcceb5f7dbf4fcad6881c8de65bdda07135a
F src/pcache.c 084e638432c610f95aea72b8509f0845d2791293f39d1b82f0c0a7e089c3bb6b
@ -1936,8 +1936,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P fef72368a2eef5cb68ffc56e4f01be212d5e3318ebdb56a23ab26e1ef454272e
R 7fdca3ee0f8febfdbd8987229e4c3537
P 4bb78ce8b50af3c6f04ffdf4de4438e61370a73ccfa971479af5d58a0a7e5fbb
R 992de5604e46c8c75e045be72cbcb1d3
U drh
Z 58fdfe0ec8d3b58e9bcfff6359000f66
Z 6823f2139f56a62ab1cf2ba296036bb4
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
4bb78ce8b50af3c6f04ffdf4de4438e61370a73ccfa971479af5d58a0a7e5fbb
fdf9ed665b2fb07d26f3852bfd2170f2fb56851edd2851d47672116a8ea58463

View File

@ -5265,7 +5265,7 @@ int sqlite3PagerSharedLock(Pager *pPager){
** may mean that the pager was in the error-state when this
** function was called and the journal file does not exist.
*/
if( !isOpen(pPager->jfd) ){
if( !isOpen(pPager->jfd) && pPager->journalMode!=PAGER_JOURNALMODE_OFF ){
sqlite3_vfs * const pVfs = pPager->pVfs;
int bExists; /* True if journal file exists */
rc = sqlite3OsAccess(