From: drh Date: Tue, 22 Jun 2010 14:49:39 +0000 (+0000) Subject: When trying to transition from journal_mode MEMORY to WAL, use OFF as an X-Git-Tag: version-3.7.2~250 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=242c4f7702dcaa690bae743a28b090a3e57ff1d2;p=thirdparty%2Fsqlite.git When trying to transition from journal_mode MEMORY to WAL, use OFF as an intermediate journal mode. FossilOrigin-Name: 4775b8f9a9d9b66fcd5abf3af111fcad249e662e --- diff --git a/manifest b/manifest index 8a0855931c..49c2a3cc4c 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Some\schanges\sto\stest\sscripts\srelated\sto\scodec\senabled\sversions\sof\ssqlite. -D 2010-06-22T13:46:44 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C When\strying\sto\stransition\sfrom\sjournal_mode\sMEMORY\sto\sWAL,\suse\sOFF\sas\san\nintermediate\sjournal\smode. +D 2010-06-22T14:49:40 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -217,7 +220,7 @@ F src/update.c 9859f2056c7739a1db0d9774ccb6c2f0cee6d1de F src/utf.c 1baeeac91707a4df97ccc6141ec0f808278af685 F src/util.c 32aebf04c10e51ad3977a928b7416bed671b620b F src/vacuum.c 241a8386727c1497eba4955933356dfba6ff8c9f -F src/vdbe.c 290d20ed92b560dc0b602ac50b252f9553a2d8e8 +F src/vdbe.c 8b3bae957a874891361e4b5ada373e6f49e18630 F src/vdbe.h 471f6a3dcec4817ca33596fe7f6654d56c0e75f3 F src/vdbeInt.h 19ebc8c2a2e938340051ee65af3f377fb99102d1 F src/vdbeapi.c dc3138f10afbc95ed3c21dd25abb154504b1db9d @@ -825,7 +828,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 8f98e8b5a557db5759747f3aae5ea01fb0d1f455 -R 9f0611c812b4c55fbb52e150b64ff096 -U dan -Z 8cdc6e8c6fc8fb37844b43458a81932f +P 85dd51a75c75b2a123744f646e04538e4e5d89b3 +R 5187a667a2f982bcc127f4eb79a46f4d +U drh +Z a66a2fcdf8ebb147f6f17490b97d943d +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFMIM2IoxKgR168RlERAvClAJ4w+nEzZOGGveDZxn4kNKnrISQYLQCfSwak +b1gUNaLhd+E4LdRSHkfuC7I= +=xvI6 +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index bf49b8b045..5fd34cf6fd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -85dd51a75c75b2a123744f646e04538e4e5d89b3 \ No newline at end of file +4775b8f9a9d9b66fcd5abf3af111fcad249e662e \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index aec5712bf0..47dbc7cf08 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -5249,6 +5249,10 @@ case OP_JournalMode: { /* out2-prerelease */ if( rc==SQLITE_OK ){ sqlite3PagerSetJournalMode(pPager, eNew); } + }else if( eOld==PAGER_JOURNALMODE_MEMORY ){ + /* Cannot transition directly from MEMORY to WAL. Use mode OFF + ** as an intermediate */ + sqlite3PagerSetJournalMode(pPager, PAGER_JOURNALMODE_OFF); } /* Open a transaction on the database file. Regardless of the journal