]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Update some test cases that deal with corrupt databases.
authordan <dan@noemail.net>
Fri, 28 Feb 2014 18:39:51 +0000 (18:39 +0000)
committerdan <dan@noemail.net>
Fri, 28 Feb 2014 18:39:51 +0000 (18:39 +0000)
FossilOrigin-Name: 3a09f5605ac7c6e503eb10acfdc607010414d917

manifest
manifest.uuid
src/vdbeaux.c
src/vdbemem.c
test/analyze9.test
test/corruptG.test
test/pragma.test

index 3b948c33cf1e763f08ab819a4c547bae12cc7bd7..f20f7a0353bdedf934c127a0a6ccdec8b74f49b5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Minor\stweak\sto\svdbeRecordCompareInt().
-D 2014-02-28T09:48:30.694
+C Update\ssome\stest\scases\sthat\sdeal\swith\scorrupt\sdatabases.
+D 2014-02-28T18:39:51.462
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -281,9 +281,9 @@ F src/vdbe.c ab910206dd8c9c5c1455f82953934bdbfe0bcc2a
 F src/vdbe.h 6833579fc0fbdc1c933e34519064841abda5b9b3
 F src/vdbeInt.h 5286af9067cabdb8ba57b87c0c988a931be6c6c8
 F src/vdbeapi.c 5bc41aaea448a7fc250902c418f1795859be3820
-F src/vdbeaux.c fc95358566a454fadcf17858d582ff38c2e55c54
+F src/vdbeaux.c aad5345869c110f45074e2c1ca230e623b1ba182
 F src/vdbeblob.c d939997de046b8fcc607cfee4248f3d33dbcca50
-F src/vdbemem.c 25cc487244bf6ad647105c5adbc3052403dfd143
+F src/vdbemem.c 93fc3f13ebe6809ebaac8d0a17c812ec053ba233
 F src/vdbesort.c 72290f12428973c2c6b9d4f95ad0a7c8181e1280
 F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767
 F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd
@@ -310,7 +310,7 @@ F test/analyze5.test 765c4e284aa69ca172772aa940946f55629bc8c4
 F test/analyze6.test d31defa011a561b938b4608d3538c1b4e0b5e92c
 F test/analyze7.test bb1409afc9e8629e414387ef048b8e0e3e0bdc4f
 F test/analyze8.test 093d15c1c888eed5034304a98c992f7360130b88
-F test/analyze9.test 339e87723cd4dc158dc5e9095acd8df9e87faf79
+F test/analyze9.test e072a5172d55afcba98d6ca6a219ce8878c2f5c9
 F test/analyzeA.test 1a5c40079894847976d983ca39c707aaa44b6944
 F test/analyzeB.test 8bf35ee0a548aea831bf56762cb8e7fdb1db083d
 F test/async.test 1d0e056ba1bb9729283a0f22718d3a25e82c277b
@@ -402,7 +402,7 @@ F test/corruptC.test 02405cf7ed0c1e989060e1aab6d02ffbc3906fbb
 F test/corruptD.test b3c205fac7952b1de645ce44bb02335cd9e3e040
 F test/corruptE.test 193b4ca4e927e77c1d5f4f56203ddc998432a7ee
 F test/corruptF.test be9fde98e4c93648f1ba52b74e5318edc8f59fe4
-F test/corruptG.test c150f156dace653c00a121ad0f5772a0568c41ba
+F test/corruptG.test 58ec333a01997fe655e34e5bea52b7a2a6b9704d
 F test/corruptH.test 9d8186f6f8751efdfd445d8546fd98f073499039
 F test/count.test 42a251178e32f617eda33f76236a7f79825a50b5
 F test/coveridxscan.test cdb47d01acc4a634a34fd25abe85189e0d0f1e62
@@ -735,7 +735,7 @@ F test/pcache.test b09104b03160aca0d968d99e8cd2c5b1921a993d
 F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
 F test/percentile.test b98fc868d71eb5619d42a1702e9ab91718cbed54
 F test/permutations.test 40add071ba71aefe1c04f5845308cf46f7de8d04
-F test/pragma.test c1bc3a29f664b57d0ae40b498ad31f370de8daa6
+F test/pragma.test adb21a90875bc54a880fa939c4d7c46598905aa0
 F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13
 F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
 F test/printf2.test bed79b4c3e5da08ba88ad637c0bf62586843cfb1
@@ -1152,7 +1152,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P 8f30b09518d23c3f6cecd244a66ef918fdb55323
-R c980d8afe2372c0277fee962182b32ac
+P 284bde0ee20261737446eb8f5b6b36ad9bc3f355
+R 75b55639e7bdd048d8263d0acfa3cf8a
 U dan
-Z 7196a891773623dba164b983a9b4c516
+Z d116a418c5c97c83b8ebfe7a3e655c3c
index 52a4739a0c9a68e1856a814f1db122606c54118f..9cb218f1b4e12ebd8fa2beb62503d22abc9423d3 100644 (file)
@@ -1 +1 @@
-284bde0ee20261737446eb8f5b6b36ad9bc3f355
\ No newline at end of file
+3a09f5605ac7c6e503eb10acfdc607010414d917
\ No newline at end of file
index 8468d13b96926a0dc4ec51f335bc67f5789f9076..007f4e650d3b17ded3ea6556a93befe790da0c5f 100644 (file)
@@ -3597,7 +3597,7 @@ static int vdbeRecordCompareInt(
     /* This case could be removed without changing the results of running
     ** this code. Including it causes gcc to generate a faster switch 
     ** statement (since the range of switch targets now starts at zero and
-    ** is contiguous)) but does not cause any duplicate code to be generated
+    ** is contiguous) but does not cause any duplicate code to be generated
     ** (as gcc is clever enough to combine the two like cases). Other 
     ** compilers might be similar.  */ 
     case 0: case 7:
index 4936f40016546bac281b40c3eff2c72567ef4a04..bc703e8eeba05dc2c5755536c7251c2df48b1901 100644 (file)
@@ -913,7 +913,6 @@ static sqlite3_value *valueNew(sqlite3 *db, struct ValueNewStat4Ctx *p){
         if( pRec->pKeyInfo ){
           assert( pRec->pKeyInfo->nField+pRec->pKeyInfo->nXField==nCol );
           assert( pRec->pKeyInfo->enc==ENC(db) );
-          pRec->flags = UNPACKED_PREFIX_MATCH;
           pRec->aMem = (Mem *)((u8*)pRec + ROUND8(sizeof(UnpackedRecord)));
           for(i=0; i<nCol; i++){
             pRec->aMem[i].flags = MEM_Null;
index 0fce55ac4b6ccfc9ce6a6ebcfe5005d1895d7286..820bcdb0e77c2cbb364118cd76b75157ea7d8179 100644 (file)
@@ -326,6 +326,7 @@ do_execsql_test 6.2 {
 reset_db
 sqlite3_db_config_lookaside db 0 0 0
 
+database_may_be_corrupt
 do_execsql_test 7.1 {
   CREATE TABLE t1(a, b);
   CREATE INDEX i1 ON t1(a, b);
@@ -366,6 +367,8 @@ do_execsql_test 7.5 {
   SELECT * FROM t1 WHERE a = 5;
 } {5 5}
 
+database_never_corrupt
+
 #-------------------------------------------------------------------------
 #
 reset_db
index 11253fd12c17f15d7fd49b868b3441ed0ac3d540..1ec5d6f6a90691ad3482e6556004704681009a14 100644 (file)
@@ -76,6 +76,6 @@ do_test 2.1 {
   # incorrect answer from a corrupt database file, that is OK.  If the
   # result below changes, that just means that "undefined behavior" has
   # changed.
-} {0 52}
+} {/0 .*/}
 
 finish_test
index fcbb1808fa045f361c7dc467121eb028d8a01281..8f54e695d75c2ed303c11ae5142f6a7a276f0ad1 100644 (file)
@@ -1602,11 +1602,16 @@ Multiple uses for byte 672 of page 15}
 set auxerr {*** in database aux ***
 Multiple uses for byte 672 of page 15}
 
+set mainerr {/{\*\*\* in database main \*\*\*
+Multiple uses for byte 672 of page 15}.*/}
+set auxerr {/{\*\*\* in database aux \*\*\*
+Multiple uses for byte 672 of page 15}.*/}
+
 do_test 22.2 {
   catch { db close }
   sqlite3 db testerr.db
   execsql { PRAGMA integrity_check }
-} [list $mainerr]
+} $mainerr
 
 do_test 22.3.1 {
   catch { db close }
@@ -1615,13 +1620,13 @@ do_test 22.3.1 {
     ATTACH 'testerr.db' AS 'aux';
     PRAGMA integrity_check;
   }
-} [list $auxerr]
+} $auxerr
 do_test 22.3.2 {
   execsql { PRAGMA main.integrity_check; }
 } {ok}
 do_test 22.3.3 {
   execsql { PRAGMA aux.integrity_check; }
-} [list $auxerr]
+} $auxerr
 
 do_test 22.4.1 {
   catch { db close }
@@ -1630,10 +1635,10 @@ do_test 22.4.1 {
     ATTACH 'test.db' AS 'aux';
     PRAGMA integrity_check;
   }
-} [list $mainerr]
+} $mainerr
 do_test 22.4.2 {
   execsql { PRAGMA main.integrity_check; }
-} [list $mainerr]
+} $mainerr
 do_test 22.4.3 {
   execsql { PRAGMA aux.integrity_check; }
 } {ok}