]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Increase test coverage following the introduction of the new
authordrh <drh@noemail.net>
Wed, 31 Mar 2010 02:31:33 +0000 (02:31 +0000)
committerdrh <drh@noemail.net>
Wed, 31 Mar 2010 02:31:33 +0000 (02:31 +0000)
filesize-in-header logic.

FossilOrigin-Name: dbc2c3c0144d2c76aec04f80892302c532947dc8

manifest
manifest.uuid
src/btree.c
src/pager.c

index 71a5a4910f35cadbe06946834cd342a929d2d1b7..09f971462abaaf1ce480fd3acd8fcaabad47009e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Continuing\srefinements\sto\sthe\sfilesize-in-header\senhancement.
-D 2010-03-30T22:58:34
+C Increase\stest\scoverage\sfollowing\sthe\sintroduction\sof\sthe\snew\nfilesize-in-header\slogic.
+D 2010-03-31T02:31:34
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 4f2f967b7e58a35bb74fb7ec8ae90e0f4ca7868b
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -112,7 +112,7 @@ F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
 F src/backup.c e86634da8c48357a759694c9c7c471125cd8d5a8
 F src/bitvec.c 06ad2c36a9c3819c0b9cbffec7b15f58d5d834e0
 F src/btmutex.c 96a12f50f7a17475155971a241d85ec5171573ff
-F src/btree.c d3a0ee18bd4aa2339e9cf2f7d93f67b022b4670b
+F src/btree.c de086bad7eb739586bf453ec91db39e7a4c73dab
 F src/btree.h ad6cff92286f9b02ec32f0b97136e9a544249f37
 F src/btreeInt.h 22447d259639271774a931cbf66aa55112846681
 F src/build.c 11100b66fb97638d2d874c1d34d8db90650bb1d7
@@ -155,7 +155,7 @@ F src/os_common.h 240c88b163b02c21a9f21f87d49678a0aa21ff30
 F src/os_os2.c 75a8c7b9a00a2cf1a65f9fa4afbc27d46634bb2f
 F src/os_unix.c 148d2f625db3727250c0b880481ae7630b6d0eb0
 F src/os_win.c 1c7453c2df4dab26d90ff6f91272aea18bcf7053
-F src/pager.c 0fcd5b4359a0c1fcf06b705a5060ad7597802082
+F src/pager.c d9f426234c8fe92f3ce57126e14766a654a20690
 F src/pager.h ef8a2cf10084f60ab45ee2dfded8bf8b0c655ddf
 F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
 F src/pcache.c ace8f6a5ecd4711cc66a1b23053be7109bd437cf
@@ -797,14 +797,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P c117f99236a009778bb7878da464918554391f0a
-R efa6bf51e48ad2d5be1cf09661f1f24c
+P 79e22b95038c50b9b7f35e09262805ff6338b59b
+R 455a8e2507ef8609752386d3098e3130
 U drh
-Z b0d1f74939d4990ca433eff4c752959f
+Z 087386de273497e509c87fcced974ac7
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFLsoIeoxKgR168RlERAll7AKCH3KzJCOwYaOHCNPa0u9bjSrh3pACeK50J
-6SkuHmaYw2uYZf0RGmlXHx8=
-=y9Cm
+iD8DBQFLsrQJoxKgR168RlERAmB0AJ47oHve3SJiQXPeeACisK6oWGvFdACfSgUw
+8raT3+wzLkAF3ADx1vHvsqU=
+=VjPL
 -----END PGP SIGNATURE-----
index 22ce7485736d7e4b29509159d3371d1a2ba429d1..d1745d332685e65165a515a10d9456491b331369 100644 (file)
@@ -1 +1 @@
-79e22b95038c50b9b7f35e09262805ff6338b59b
\ No newline at end of file
+dbc2c3c0144d2c76aec04f80892302c532947dc8
\ No newline at end of file
index 527495472d949f3ba634d55bb41f1e6582781691..8349b13bad0e3f5bbefbfb53eb061bdc656a09eb 100644 (file)
@@ -2252,9 +2252,14 @@ static int lockBtree(BtShared *pBt){
   ** a valid database file. 
   */
   nPage = get4byte(28+(u8*)pPage1->aData);
-  if( nPage==0 && (rc = sqlite3PagerPagecount(pBt->pPager, &nPage))!=0 ){
-    goto page1_init_failed;
-  }else if( nPage>0 ){
+  if( nPage==0 ){
+    rc = sqlite3PagerPagecount(pBt->pPager, &nPage);
+    /* The sqlite3PagerSharedLock() call above has already determined
+    ** the database file size, so this call to sqlite3PagerPagecount()
+    ** cannot fail. */
+    if( NEVER(rc) ) goto page1_init_failed;
+  }
+  if( nPage>0 ){
     int pageSize;
     int usableSize;
     u8 *page1 = pPage1->aData;
index a7fe204d9787e1864b0ff10bb78625c0184100f4..f6f2c5b1238fd90c2dc63a0a6f1dd34161db8c6a 100644 (file)
@@ -2463,7 +2463,7 @@ int sqlite3PagerPagecount(Pager *pPager, int *pnPage){
   Pgno nPage;               /* Value to return via *pnPage */
 
   /* If the pager is already in the error state, return the error code. */
-  if( pPager->errCode ){
+  if( NEVER(pPager->errCode) ){
     return pPager->errCode;
   }