diff --git a/manifest b/manifest index 3b948c33cf..f20f7a0353 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index 52a4739a0c..9cb218f1b4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -284bde0ee20261737446eb8f5b6b36ad9bc3f355 \ No newline at end of file +3a09f5605ac7c6e503eb10acfdc607010414d917 \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 8468d13b96..007f4e650d 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -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: diff --git a/src/vdbemem.c b/src/vdbemem.c index 4936f40016..bc703e8eeb 100644 --- a/src/vdbemem.c +++ b/src/vdbemem.c @@ -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; iaMem[i].flags = MEM_Null; diff --git a/test/analyze9.test b/test/analyze9.test index 0fce55ac4b..820bcdb0e7 100644 --- a/test/analyze9.test +++ b/test/analyze9.test @@ -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 diff --git a/test/corruptG.test b/test/corruptG.test index 11253fd12c..1ec5d6f6a9 100644 --- a/test/corruptG.test +++ b/test/corruptG.test @@ -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 diff --git a/test/pragma.test b/test/pragma.test index fcbb1808fa..8f54e695d7 100644 --- a/test/pragma.test +++ b/test/pragma.test @@ -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}