From: drh Date: Fri, 23 Dec 2011 13:32:07 +0000 (+0000) Subject: Avoid excess syncs when padding a transaction in a WAL. X-Git-Tag: mountain-lion~8^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e5e108e83ee917a6a425e1bc8a18a4aa2d7b196;p=thirdparty%2Fsqlite.git Avoid excess syncs when padding a transaction in a WAL. FossilOrigin-Name: 1f24ae716df6232de768e245ea990049deee3c22 --- diff --git a/manifest b/manifest index 1aebed56f7..4d1c60afe0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\sthe\sPOWERSAFE_OVERWRITE\sfeatures\sand\sthe\suse\sof\sstatvfs()\sfrom\sthe\nstatvfs\sbranch\sinto\strunk. -D 2011-12-23T02:07:10.640 +C Avoid\sexcess\ssyncs\swhen\spadding\sa\stransaction\sin\sa\sWAL. +D 2011-12-23T13:32:07.917 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -250,7 +250,7 @@ F src/vdbemem.c 2fc78b3e0fabcc1eaa23cd79dd2e30e6dcfe1e56 F src/vdbesort.c 468d43c057063e54da4f1988b38b4f46d60e7790 F src/vdbetrace.c d6e50e04e1ec498150e519058f617d91b8f5c843 F src/vtab.c e9318d88feac85be8e27ee783ac8f5397933fc8a -F src/wal.c 66e2afeec77933f80c8098cfb3c0b29bc875de0f +F src/wal.c 4800adb021db953138eafdda825f95bc050e5b98 F src/wal.h 42f8313f7aaf8913e2d1fdf7b47025c23491ea1d F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f F src/where.c af623942514571895818b9b7ae11db95ae3b3d88 @@ -986,7 +986,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 83d26b9a9115eadac9e59a33d608bca0ab2519e3 6191c5e45175f5c6040e891843b0725a929d6dd7 -R 9e1524ff0804966ed866a28455ef991b +P 2370d70eb51d2259aaa8073d861ab79d6637cbd9 +R 070cfae8b4f17992d010f84eb7fc87cd U drh -Z 88029f358469c654bea2978d031e29f2 +Z ce9eb9870fa6375b9586d00c63492f9d diff --git a/manifest.uuid b/manifest.uuid index 18ed65b934..e351e25035 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2370d70eb51d2259aaa8073d861ab79d6637cbd9 \ No newline at end of file +1f24ae716df6232de768e245ea990049deee3c22 \ No newline at end of file diff --git a/src/wal.c b/src/wal.c index 657d59d527..076ba9633d 100644 --- a/src/wal.c +++ b/src/wal.c @@ -2829,8 +2829,9 @@ int sqlite3WalFrames( iOffset += szFrame; nExtra++; } + }else{ + rc = sqlite3OsSync(w.pFd, sync_flags & SQLITE_SYNC_MASK); } - rc = sqlite3OsSync(w.pFd, sync_flags & SQLITE_SYNC_MASK); } /* If this frame set completes the first transaction in the WAL and