From: drh Date: Fri, 2 Jun 2006 12:40:08 +0000 (+0000) Subject: The windows driver always allows other processes to write the database file X-Git-Tag: version-3.6.10~2971 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=94d57e39249a7d3a4de0fdf7476be24ebddbf2f6;p=thirdparty%2Fsqlite.git The windows driver always allows other processes to write the database file even if it only has read permission on the file. This is an experimental checkin - we still have not determined that this change is safe. Ticket #1803. (CVS 3196) FossilOrigin-Name: 4bf03c3bbc1303ed9b4059917e8d6a613b1510f3 --- diff --git a/manifest b/manifest index 7b8678690c..ec312d0c31 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\stypo\sin\slang_analyze.html.\s(CVS\s3195) -D 2006-05-31T11:12:01 +C The\swindows\sdriver\salways\sallows\sother\sprocesses\sto\swrite\sthe\sdatabase\sfile\neven\sif\sit\sonly\shas\sread\spermission\son\sthe\sfile.\s\sThis\sis\san\sexperimental\ncheckin\s-\swe\sstill\shave\snot\sdetermined\sthat\sthis\schange\sis\ssafe.\s\sTicket\s#1803.\s(CVS\s3196) +D 2006-06-02T12:40:08 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -57,7 +57,7 @@ F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3 F src/os_unix.c 17d91581a0ab478a06cb6f257b707a4c4a93e5a7 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e -F src/os_win.c 8ced9ac82670bbf77492961a2f7ff80a87f1404f +F src/os_win.c f48550e191c7e37cd8e802b6a84433e9a3b84d3a F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b F src/pager.c ddd05666bb89808a516baef2c186d6a75887ae90 F src/pager.h 43f32f3847421f7502cfbb66f4eb2302b8033818 @@ -356,7 +356,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 9e0b83b81f13277b9da877bdd96c544ec66533f0 -R 266aa47eb3b01cf89f64731c0b52eebe +P fba8ce8c383fa8e66bc2dd5a354f411ad2b83c6d +R e8e28b68f68e385df9ce00b0c40a195e U drh -Z fc1f4cfb1332111488a800cde342c7af +Z 98e47813ae5d17f133d2a7209ac7086e diff --git a/manifest.uuid b/manifest.uuid index 9f01937d19..45fa71e91d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fba8ce8c383fa8e66bc2dd5a354f411ad2b83c6d \ No newline at end of file +4bf03c3bbc1303ed9b4059917e8d6a613b1510f3 \ No newline at end of file diff --git a/src/os_win.c b/src/os_win.c index def901e503..b1f318fcd2 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -550,7 +550,7 @@ int sqlite3WinOpenReadWrite( if( h==INVALID_HANDLE_VALUE ){ h = CreateFileW(zWide, GENERIC_READ, - FILE_SHARE_READ, + FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS, @@ -587,7 +587,7 @@ int sqlite3WinOpenReadWrite( if( h==INVALID_HANDLE_VALUE ){ h = CreateFileA(zFilename, GENERIC_READ, - FILE_SHARE_READ, + FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS,