From: drh Date: Mon, 8 Oct 2007 12:21:10 +0000 (+0000) Subject: In windows, always open files using FILE_FLAG_RANDOM_ACCESS. Ticket #2699. (CVS... X-Git-Tag: version-3.6.10~1701 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=496936c8810892595d541ac3d08d9dafb7c65705;p=thirdparty%2Fsqlite.git In windows, always open files using FILE_FLAG_RANDOM_ACCESS. Ticket #2699. (CVS 4476) FossilOrigin-Name: 5cdbc0972fe94c13dffee1f908a77f903e580449 --- diff --git a/manifest b/manifest index 364e66e87f..ab4205b83b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\smemory\sleak\sin\sthe\ssqlite3_realloc()\simplementation\sof\sthe\nnon-debugging\smemory\sallocator.\s(CVS\s4475) -D 2007-10-06T01:40:35 +C In\swindows,\salways\sopen\sfiles\susing\sFILE_FLAG_RANDOM_ACCESS.\s\sTicket\s#2699.\s(CVS\s4476) +D 2007-10-08T12:21:11 F Makefile.in 75b729d562e9525d57d9890ec598b38e1a8b02bc F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -118,7 +118,7 @@ F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3 F src/os_unix.c 308bd8ad6977f66f608228cccaecc4cbc1a24693 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e -F src/os_win.c b2b6aa5f72c84f24c2afd49abfa751abab0e5b79 +F src/os_win.c 713bb34665071eea35f2beab9100769135a669f5 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b F src/pager.c 0a92a08192785af79547b017cda45eb683b22552 F src/pager.h d783e7f184afdc33adff37ba58d4e029bd8793b3 @@ -581,7 +581,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 4424357d17f615fab922780616eac6773535923a -R 2ed601e13bd5dddd1e1e50775404fa02 +P 7e9b886dabf10557bc1aa80caad411809ce5a39f +R 13066f59c06519a2ddde6fcb0c919448 U drh -Z de6ecf621e823f38d84bd35865827bb5 +Z e9c7224163b51697390aea6692707332 diff --git a/manifest.uuid b/manifest.uuid index 1fdc17a747..8fcf1cf4e3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7e9b886dabf10557bc1aa80caad411809ce5a39f \ No newline at end of file +5cdbc0972fe94c13dffee1f908a77f903e580449 \ No newline at end of file diff --git a/src/os_win.c b/src/os_win.c index 46d251fa73..765b36eb6c 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -1112,11 +1112,17 @@ static int winOpen( }else{ dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL; } +#if 0 if( flags & (SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_TEMP_DB) ){ dwFlagsAndAttributes |= FILE_FLAG_RANDOM_ACCESS; }else{ dwFlagsAndAttributes |= FILE_FLAG_SEQUENTIAL_SCAN; } +#else + /* Reports from the internet are that performance is always + ** better if FILE_FLAG_RANDOM_ACCESS is used. Ticket #2699. */ + dwFlagsAndAttributes |= FILE_FLAG_RANDOM_ACCESS; +#endif if( isNT() ){ h = CreateFileW((WCHAR*)zConverted, dwDesiredAccess,