From: drh Date: Fri, 11 May 2012 00:56:28 +0000 (+0000) Subject: Make sure the WAL file is deleted when changing to DELETE journal mode. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fc73c50fecb74db118ccb0d3aa40c7cb30c04c7b;p=thirdparty%2Fsqlite.git Make sure the WAL file is deleted when changing to DELETE journal mode. FossilOrigin-Name: 66708685909fb048edab7f15e4a81d5a554d88d9 --- diff --git a/manifest b/manifest index bb694bbab2..2a33d01b51 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\sin\sthe\slegacy\stable\sconstraint\sparsing\sfixes\sfrom\strunk. -D 2012-05-10T12:09:34.455 +C Make\ssure\sthe\sWAL\sfile\sis\sdeleted\swhen\schanging\sto\sDELETE\sjournal\smode. +D 2012-05-11T00:56:28.845 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 957c9693400fca6cb8b533b589e69ddee7bcb27c F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -164,7 +164,7 @@ F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440 F src/os_unix.c f8c943a0f9c4e2e7fae9facb3a243cb58cc8ceb5 F src/os_win.c 24b57b4aec07ec78ae759244ab6d9759a70fe29b -F src/pager.c c296b3035a5a45d138e7370a3292ba07617adbf9 +F src/pager.c 544cc84d50fea0ca921d448037b217ecabba359b F src/pager.h 42926ac0fe69e9d7e17a54e6b37417e581a429d7 F src/parse.y de06f412a4b3a2978071215f657fd1cd70700444 F src/pcache.c f8043b433a57aba85384a531e3937a804432a346 @@ -1001,7 +1001,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh a8a0a3babda96dfb1ff51adda3cbbf3dfb7266c2 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 654792941011c96db879f6b779e99b1c65c587af 38bf90af1ede6ee64ef7be66392e895e60c9126e -R 534451f0241ae0938558ac8c70cc8e52 +P e87702834ed50882fadb3dee66cafb7438f5e577 +R 67b6663c392833c5593ad88a2acfcac7 U drh -Z 6974b18838cd42ad04a4c660e23059ae +Z 5163acdc76291ae8073d5c6ee58991cb diff --git a/manifest.uuid b/manifest.uuid index d70503a8bf..d52df065b4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e87702834ed50882fadb3dee66cafb7438f5e577 \ No newline at end of file +66708685909fb048edab7f15e4a81d5a554d88d9 \ No newline at end of file diff --git a/src/pager.c b/src/pager.c index bd46a6aa0d..5e1087ef7f 100644 --- a/src/pager.c +++ b/src/pager.c @@ -6923,6 +6923,12 @@ int sqlite3PagerCloseWal(Pager *pPager){ rc = sqlite3WalClose(pPager->pWal, pPager->ckptSyncFlags, pPager->pageSize, (u8*)pPager->pTmpSpace); pPager->pWal = 0; + + /* Ensure that the WAL file is deleted even if the PERSIST_WAL + ** hint is enabled. */ + if( rc==SQLITE_OK ){ + rc = sqlite3OsDelete(pPager->pVfs, pPager->zWal, 0); + } } } return rc;