From: dan Date: Thu, 13 Feb 2014 19:27:08 +0000 (+0000) Subject: Ensure that if the "psow=0" URI option or FCNTL_POWERSAFE_OVERWRITE file-control... X-Git-Tag: version-3.8.4~71 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dd973548f129b56f45cdf0eb9580a755f369a160;p=thirdparty%2Fsqlite.git Ensure that if the "psow=0" URI option or FCNTL_POWERSAFE_OVERWRITE file-control is used to clear the power-safe overwrite flag, extra padding frames are added to the WAL file. FossilOrigin-Name: 48c821fd97a8f03757c90560c37a46bd0843570e --- diff --git a/manifest b/manifest index be8118db4b..e5a8a9f156 100644 --- a/manifest +++ b/manifest @@ -1,11 +1,11 @@ -C Change\sREADME\sto\sREADME.md\sand\sexpand\sit.\s\sRemove\sunrelated\sand\sobsolete\sfiles. -D 2014-02-13T19:10:24.061 +C Ensure\sthat\sif\sthe\s"psow=0"\sURI\soption\sor\sFCNTL_POWERSAFE_OVERWRITE\sfile-control\sis\sused\sto\sclear\sthe\spower-safe\soverwrite\sflag,\sextra\spadding\sframes\sare\sadded\sto\sthe\sWAL\sfile. +D 2014-02-13T19:27:08.812 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.msc 6ff3ff2eef45c7dd309a8626ff7947b20bd387e7 F Makefile.vxworks db21ed42a01d5740e656b16f92cb5d8d5e5dd315 -F README.md 8ff4548af6f7cdf4b02e585d4dd552b233998a9b w README +F README.md 8ff4548af6f7cdf4b02e585d4dd552b233998a9b F VERSION 0dc30ad5cf90736d5fd9e540c9f05c542658abe7 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F addopcodes.awk 9eb448a552d5c0185cf62c463f9c173cedae3811 @@ -287,7 +287,7 @@ F src/vdbemem.c 06603e8e9d2f3247b68c6bbe4bd37fb6721b5bda F src/vdbesort.c 9d83601f9d6243fe70dd0169a2820c5ddfd48147 F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767 F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd -F src/wal.c d89e386ead8ecfc823b6162b09e1ada0623df37a +F src/wal.c 76e7fc6de229bea8b30bb2539110f03a494dc3a8 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 F src/walker.c 11edb74d587bc87b33ca96a5173e3ec1b8389e45 F src/where.c b0436385f40e86f0f4cc60355cd018bde2c89d4b @@ -1013,7 +1013,7 @@ F test/types.test bf816ce73c7dfcfe26b700c19f97ef4050d194ff F test/types2.test 3555aacf8ed8dc883356e59efc314707e6247a84 F test/types3.test 99e009491a54f4dc02c06bdbc0c5eea56ae3e25a F test/unique.test 93f8b2ef5ea51b9495f8d6493429b1fd0f465264 -F test/unixexcl.test a9870e46cc6f8390a494513d4f2bf55b5a8b3e46 +F test/unixexcl.test cd6c765f75e50e8e2c2ba763149e5d340ea19825 F test/unordered.test ef85ac8f2f3c93ed2b9e811b684de73175fc464c F test/update.test 1b6c488a8f993d090b7ee9ad0e234faa161b3aeb F test/uri.test 63e03df051620a18f794b4f4adcdefb3c23b6751 @@ -1100,7 +1100,7 @@ F test/without_rowid4.test 4e08bcbaee0399f35d58b5581881e7a6243d458a F test/without_rowid5.test b4a639a367f04d382d20e8f44fc1be4f2d57d107 F test/wordcount.c 9915e06cb33d8ca8109b8700791afe80d305afda F test/zeroblob.test caaecfb4f908f7bc086ed238668049f96774d688 -F test/zerodamage.test 209d7ed441f44cc5299e4ebffbef06fd5aabfefd +F test/zerodamage.test cf6748bad89553cc1632be51a6f54e487e4039ac F tool/build-all-msvc.bat e0917e787df675b020d250d60a00de8abaa4e30a x F tool/build-shell.sh 950f47c6174f1eea171319438b93ba67ff5bf367 F tool/checkSpacing.c 810e51703529a204fc4e1eb060e9ab663e3c06d2 @@ -1150,7 +1150,7 @@ F tool/vdbe-compress.tcl 0cf56e9263a152b84da86e75a5c0cdcdb7a47891 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P e3b79e920c298a39613631d689d1a2f182d00496 -R 32cef02970d5145eabe1c7cffe4376d1 -U drh -Z 910a038630fdb9ee9dcf69294f2c5c44 +P 18d4e258c45c32984b23d97b896a761eeef2dbdf +R 8c9ce91bde08452c57ff8bd83f7e4683 +U dan +Z a2f4dabb4be0cf1b9a50023d91f3c52c diff --git a/manifest.uuid b/manifest.uuid index 540465f61a..678e82d8ec 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -18d4e258c45c32984b23d97b896a761eeef2dbdf \ No newline at end of file +48c821fd97a8f03757c90560c37a46bd0843570e \ No newline at end of file diff --git a/src/wal.c b/src/wal.c index c2c3d369c1..ad76065f50 100644 --- a/src/wal.c +++ b/src/wal.c @@ -1306,7 +1306,7 @@ int sqlite3WalOpen( sqlite3OsClose(pRet->pWalFd); sqlite3_free(pRet); }else{ - int iDC = sqlite3OsDeviceCharacteristics(pRet->pWalFd); + int iDC = sqlite3OsDeviceCharacteristics(pDbFd); if( iDC & SQLITE_IOCAP_SEQUENTIAL ){ pRet->syncHeader = 0; } if( iDC & SQLITE_IOCAP_POWERSAFE_OVERWRITE ){ pRet->padToSectorBoundary = 0; diff --git a/test/unixexcl.test b/test/unixexcl.test index 0147e6bbb4..d6762178dd 100644 --- a/test/unixexcl.test +++ b/test/unixexcl.test @@ -109,7 +109,7 @@ do_multiclient_test tn { } {1 2} do_test unixexcl-3.$tn.3 { sql1 { PRAGMA wal_checkpoint; INSERT INTO t1 VALUES(3, 4); } - } {0 3 3} + } {0 5 5} do_test unixexcl-3.$tn.4 { sql2 { SELECT * FROM t1; } } {1 2} @@ -121,7 +121,7 @@ do_multiclient_test tn { } {1 2 3 4} do_test unixexcl-3.$tn.7 { sql1 { PRAGMA wal_checkpoint; } - } {0 4 4} + } {0 7 7} } } diff --git a/test/zerodamage.test b/test/zerodamage.test index de5088b5a2..dccaba816e 100644 --- a/test/zerodamage.test +++ b/test/zerodamage.test @@ -115,7 +115,7 @@ ifcapable wal { UPDATE t1 SET y=randomblob(50) WHERE x=124; } file size test.db-wal - } {8416} + } {16800} } finish_test