]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid unnecessary calls to fstat() to determine the database file size.
authordrh <drh@noemail.net>
Mon, 29 May 2017 14:57:23 +0000 (14:57 +0000)
committerdrh <drh@noemail.net>
Mon, 29 May 2017 14:57:23 +0000 (14:57 +0000)
FossilOrigin-Name: c733a1dea37e4678e7bd0d3d0ca9b8eae1fbdc28615f75d8f1e5141aa53567d9

manifest
manifest.uuid
src/pager.c

index 563124269d857a9424c4f2aa8c6365ed4be6ca5c..4ff4f00aa22e1930e0fea937ee96c40eaaa06859 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\stypo\sin\sa\scomment.\s\sNo\scode\schanges.
-D 2017-05-29T14:30:46.634
+C Avoid\sunnecessary\scalls\sto\sfstat()\sto\sdetermine\sthe\sdatabase\sfile\ssize.
+D 2017-05-29T14:57:23.932
 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
@@ -391,7 +391,7 @@ F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
 F src/os_unix.c 30e2c43e4955db990e5b5a81e901f8aa74cc8820
 F src/os_win.c 2a6c73eef01c51a048cc4ddccd57f981afbec18a
 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
-F src/pager.c b9e2eac73c63ecb208ed56ce4db30d3ac70d367814a1d55108c1d15805a3e59d
+F src/pager.c a656a65be35c03b20513017a2d45c90721ce1de549115d3c524f204603b6c58c
 F src/pager.h f2a99646c5533ffe11afa43e9e0bea74054e4efa
 F src/parse.y 0513387ce02fea97897d8caef82d45f347818593f24f1bdc48e0c530a8af122d
 F src/pcache.c 62835bed959e2914edd26afadfecce29ece0e870
@@ -1581,7 +1581,10 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 6854a34ed708259f2280f7ee56cec09f7fc99810dc739dc2814ddeae286aa2c4
-R 51f95c83705d5e49164e8a8e656ed857
+P cb29b838886769afe866b1172e3d5d7e36387149b79c51f91cf59da3f4a5f25b
+R bc8c78eb6e446da4e629bd6e66214ab1
+T *branch * io-opt
+T *sym-io-opt *
+T -sym-trunk *
 U drh
-Z ba73033214a9ed109f3bb3430dcbffef
+Z 5a21d8f44598546293f21185a73b0f86
index f4be47a6778869649ddb55d02ef9ed5b0c8f54aa..1d262da3553e9feeb19e7d6769d66ce5a8b4f6a7 100644 (file)
@@ -1 +1 @@
-cb29b838886769afe866b1172e3d5d7e36387149b79c51f91cf59da3f4a5f25b
\ No newline at end of file
+c733a1dea37e4678e7bd0d3d0ca9b8eae1fbdc28615f75d8f1e5141aa53567d9
\ No newline at end of file
index cdc5751e81334c4d3de758d9f95cf6984737b231..c2c97d42f885ce1aac5db9e512b910e36feb9fa2 100644 (file)
@@ -5263,19 +5263,14 @@ int sqlite3PagerSharedLock(Pager *pPager){
       ** detected.  The chance of an undetected change is so small that
       ** it can be neglected.
       */
-      Pgno nPage = 0;
       char dbFileVers[sizeof(pPager->dbFileVers)];
 
-      rc = pagerPagecount(pPager, &nPage);
-      if( rc ) goto failed;
-
-      if( nPage>0 ){
-        IOTRACE(("CKVERS %p %d\n", pPager, sizeof(dbFileVers)));
-        rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24);
-        if( rc!=SQLITE_OK && rc!=SQLITE_IOERR_SHORT_READ ){
+      IOTRACE(("CKVERS %p %d\n", pPager, sizeof(dbFileVers)));
+      rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24);
+      if( rc!=SQLITE_OK ){
+        if( rc!=SQLITE_IOERR_SHORT_READ ){
           goto failed;
         }
-      }else{
         memset(dbFileVers, 0, sizeof(dbFileVers));
       }