From: drh Date: Mon, 16 Mar 2015 16:44:55 +0000 (+0000) Subject: When deleting the master journal to commit a multi-database transaction, do X-Git-Tag: version-3.8.9~74 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=75a4d7c3da500ffd527603d5ec8906498f17c3f7;p=thirdparty%2Fsqlite.git When deleting the master journal to commit a multi-database transaction, do not sync the directory if PRAGMA synchronous=OFF for all participating database files. FossilOrigin-Name: 018d7671402a0f8103d1306641655b69f9fa235d --- diff --git a/manifest b/manifest index e7e9fb89d8..c965f4df6b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C When\sestimating\sthe\snumber\sof\srows\svisited\sby\sa\srange\sscan\sfor\swhich\sthe\skeys\sconsist\sof\smore\sthan\sone\sfield,\sconsider\sprefixes\sof\sstat4\ssamples\sas\swell\sas\sthe\sfull\ssamples.\sThis\sgenerates\smore\saccurate\sestimates. -D 2015-03-16T16:28:43.573 +C When\sdeleting\sthe\smaster\sjournal\sto\scommit\sa\smulti-database\stransaction,\sdo\nnot\ssync\sthe\sdirectory\sif\sPRAGMA\ssynchronous=OFF\sfor\sall\sparticipating\ndatabase\sfiles. +D 2015-03-16T16:44:55.689 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -297,7 +297,7 @@ F src/vdbe.c a2725107658fd9572637e8e09d46dcfe851edb96 F src/vdbe.h 6fc69d9c5e146302c56e163cb4b31d1ee64a18c3 F src/vdbeInt.h bb56fd199d8af1a2c1b9639ee2f70724b4338e3a F src/vdbeapi.c 583d56b129dd27f12bed518270de9ebe521e6a75 -F src/vdbeaux.c 97911edb61074b871ec4aa2d6bb779071643dee5 +F src/vdbeaux.c 23390670e64f011f3fed8f38a2f25aaccacb74d2 F src/vdbeblob.c 4f2e8e075d238392df98c5e03a64342465b03f90 F src/vdbemem.c c0dc81285b7571b0a31c40f17846fe2397ec1cd9 F src/vdbesort.c 6d64c5448b64851b99931ede980addc3af70d5e2 @@ -1244,7 +1244,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P f2c9c5b57b7739daafc44e8ec36d4a2beacd5f17 f2207a0691ed361061719f4dacf021a677a9d892 -R 91b4618acc4046613febfb03ba644299 -U dan -Z a47ebefe49a8b31d8182fc2d2ef4fe70 +P 3e0590dee0e68cc1599858757c650a7378026170 +R b45bc6830f64f8858a6416472978aee0 +U drh +Z 7cd47bb94490a64601179f11e40a837c diff --git a/manifest.uuid b/manifest.uuid index 7834d3d08a..1d6abc47d5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3e0590dee0e68cc1599858757c650a7378026170 \ No newline at end of file +018d7671402a0f8103d1306641655b69f9fa235d \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index cd9ecaa691..9c105cc9e7 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -2143,7 +2143,7 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ ** doing this the directory is synced again before any individual ** transaction files are deleted. */ - rc = sqlite3OsDelete(pVfs, zMaster, 1); + rc = sqlite3OsDelete(pVfs, zMaster, needSync); sqlite3DbFree(db, zMaster); zMaster = 0; if( rc ){