]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Code tweaks in support of full-coverage testing. (CVS 6907)
authordrh <drh@noemail.net>
Sat, 18 Jul 2009 20:01:37 +0000 (20:01 +0000)
committerdrh <drh@noemail.net>
Sat, 18 Jul 2009 20:01:37 +0000 (20:01 +0000)
FossilOrigin-Name: 22c6dbfdce965e32f3df9aec28e46e714620c362

manifest
manifest.uuid
src/bitvec.c
src/pager.c

index 527144f54fe16e030d0a5e7fdae0acbb2a9723b6..9254d3e2878b1359a46bc5dde25704f0873123cd 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\ssome\scode\sto\ssqlite3VdbeMemSetZeroBlob()\sso\sthat\sit\sworks\s(less\sefficiently)\seven\swhen\sOMIT_INCRBLOB\sis\sdefined.\sTicket\s#3977.\s(CVS\s6906)
-D 2009-07-18T14:36:24
+C Code\stweaks\sin\ssupport\sof\sfull-coverage\stesting.\s(CVS\s6907)
+D 2009-07-18T20:01:37
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in df9359da7a726ccb67a45db905c5447d5c00c6ef
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -104,7 +104,7 @@ F src/analyze.c e239496cfb5394ac8867f1c112905ddab8d01cd9
 F src/attach.c 13995348fc5a26cdd136a50806faf292aabc173f
 F src/auth.c 802a9439dfa0b8c208b10055cba400e82ef18025
 F src/backup.c 6f1c2d9862c8a3feb7739dfcca02c1f5352e37f3
-F src/bitvec.c 0ef0651714728055d43de7a4cdd95e703fac0119
+F src/bitvec.c cfbf6af5b0ababb4f06ed3e75c616dadaf47fcbd
 F src/btmutex.c f7b059a9b08e1af2dd222bf3cc5c45054af0bba6
 F src/btree.c 4d964398d7291fd536cd6361c70ccad9c8dc3b9a
 F src/btree.h e53a10fd31d16c60a86f03c9467a6f470aa3683b
@@ -147,7 +147,7 @@ F src/os_common.h 8c61457df58f1a4bd5f5adc3e90e01b37bf7afbc
 F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5
 F src/os_unix.c cdb2a08b9ce4aa13b3f7b91d4dd60fb48be9f56a
 F src/os_win.c 725c38a524d168ce280446ad8761d731bc516405
-F src/pager.c 283d4e9c64d4a4555a9a15cf870180b4fc102f7e
+F src/pager.c ed7cdaac02878f7b74d4de01b36520e5505c9af6
 F src/pager.h 5aec418bf99f568b92ae82816a1463400513726d
 F src/parse.y bcd46d43fbd23a22b8c020a3eb1806b794794ed5
 F src/pcache.c 7d27635a4bd03c81ce848cb186fea6192706fa1a
@@ -741,7 +741,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746
-P 630e669b97a81f9125d4bdc18517738b74eecdec
-R be6a10c5cb1da4896236c9eaa54aec14
-U danielk1977
-Z de67b8120f72a62c9a57858baf4513bf
+P f5f7259d811ce8c2bf0bc64128256c4cd95f676a
+R 501910d99f038f7407ef489bd69f3aa4
+U drh
+Z 2bc811991280709656b34b94d784c295
index 07c66222486662e2e5bb4d6f470062c9d5bdc147..0ab64f2ce4249c7c23d8c93fec9741fd9cbfdb38 100644 (file)
@@ -1 +1 @@
-f5f7259d811ce8c2bf0bc64128256c4cd95f676a
\ No newline at end of file
+22c6dbfdce965e32f3df9aec28e46e714620c362
\ No newline at end of file
index 616c2adc50ac79ed4b151fce63649e18d10a39c3..32be251b31896a67c4edddb2ca36fcd234ff7dea 100644 (file)
@@ -34,7 +34,7 @@
 ** start of a transaction, and is thus usually less than a few thousand,
 ** but can be as large as 2 billion for a really big database.
 **
-** @(#) $Id: bitvec.c,v 1.15 2009/06/02 21:31:39 drh Exp $
+** @(#) $Id: bitvec.c,v 1.16 2009/07/18 20:01:37 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -167,7 +167,7 @@ int sqlite3BitvecTest(Bitvec *p, u32 i){
 */
 int sqlite3BitvecSet(Bitvec *p, u32 i){
   u32 h;
-  assert( p!=0 );
+  if( p==0 ) return SQLITE_OK;
   assert( i>0 );
   assert( i<=p->iSize );
   i--;
@@ -237,7 +237,7 @@ bitvec_set_end:
 ** that BitvecClear can use to rebuilt its hash table.
 */
 void sqlite3BitvecClear(Bitvec *p, u32 i, void *pBuf){
-  assert( p!=0 );
+  if( p==0 ) return;
   assert( i>0 );
   i--;
   while( p->iDivisor ){
@@ -348,6 +348,10 @@ int sqlite3BitvecBuiltinTest(int sz, int *aOp){
   if( pBitvec==0 || pV==0 || pTmpSpace==0  ) goto bitvec_end;
   memset(pV, 0, (sz+7)/8 + 1);
 
+  /* NULL pBitvec tests */
+  sqlite3BitvecSet(0, 1);
+  sqlite3BitvecClear(0, 1, pTmpSpace);
+
   /* Run the program */
   pc = 0;
   while( (op = aOp[pc])!=0 ){
index 1294fd979092c506a5554560a5e29889e9267785..8884b7ad50ce1861a8fceaf0eea5962595a58926 100644 (file)
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.608 2009/07/13 15:52:38 drh Exp $
+** @(#) $Id: pager.c,v 1.609 2009/07/18 20:01:37 drh Exp $
 */
 #ifndef SQLITE_OMIT_DISKIO
 #include "sqliteInt.h"
@@ -5201,7 +5201,7 @@ int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, int isCommit){
   pPg->flags &= ~PGHDR_NEED_SYNC;
   pPgOld = pager_lookup(pPager, pgno);
   assert( !pPgOld || pPgOld->nRef==1 );
-  if( pPgOld ){
+  if( ALWAYS(pPgOld) ){
     pPg->flags |= (pPgOld->flags&PGHDR_NEED_SYNC);
     sqlite3PcacheDrop(pPgOld);
   }
@@ -5233,7 +5233,7 @@ int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, int isCommit){
     assert( pPager->needSync );
     rc = sqlite3PagerGet(pPager, needSyncPgno, &pPgHdr);
     if( rc!=SQLITE_OK ){
-      if( pPager->pInJournal && needSyncPgno<=pPager->dbOrigSize ){
+      if( needSyncPgno<=pPager->dbOrigSize ){
         assert( pPager->pTmpSpace!=0 );
         sqlite3BitvecClear(pPager->pInJournal, needSyncPgno, pPager->pTmpSpace);
       }
@@ -5279,8 +5279,7 @@ void *sqlite3PagerGetData(DbPage *pPg){
 ** allocated along with the specified page.
 */
 void *sqlite3PagerGetExtra(DbPage *pPg){
-  Pager *pPager = pPg->pPager;
-  return (pPager?pPg->pExtra:0);
+  return pPg->pExtra;
 }
 
 /*