]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
More coverage tests for fts3.c.
authordan <dan@noemail.net>
Tue, 26 Oct 2010 07:14:25 +0000 (07:14 +0000)
committerdan <dan@noemail.net>
Tue, 26 Oct 2010 07:14:25 +0000 (07:14 +0000)
FossilOrigin-Name: 7a2f2864002d4e9a487e2779ae05513880ecb4d1

ext/fts3/fts3.c
ext/fts3/fts3Int.h
manifest
manifest.uuid
test/fts3cov.test
test/fts3defer.test

index c9766dafea3baa6094b2b8770e919a2c20e11663..bf760efe8e54435db87dd7d842977f0e2691029e 100644 (file)
@@ -658,9 +658,8 @@ static void fts3DatabasePageSize(int *pRc, Fts3Table *p){
     }else{
       rc = sqlite3_prepare(p->db, zSql, -1, &pStmt, 0);
       if( rc==SQLITE_OK ){
-        if( SQLITE_ROW==sqlite3_step(pStmt) ){
-          p->nPgsz = sqlite3_column_int(pStmt, 0);
-        }
+        sqlite3_step(pStmt);
+        p->nPgsz = sqlite3_column_int(pStmt, 0);
         rc = sqlite3_finalize(pStmt);
       }
     }
index ad43570cb4e3e376354d241b4912058a80b3bc95..9ddf5e51d07b7e018ec71e7540715536fda6487b 100644 (file)
 ** Macros indicating that conditional expressions are always true or
 ** false.
 */
+#ifdef SQLITE_COVERAGE_TEST
+# define ALWAYS(x) (1)
+# define NEVER(X)  (0)
+#else
 # define ALWAYS(x) (x)
 # define NEVER(X)  (x)
+#endif
+
 /*
 ** Internal types used by SQLite.
 */
index fe6cc27b77c96948610c7e0d002781a051ed4aea..694473c4451c911a0e644d8e3a219b6d5d4c3c9d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Further\simprovements\sto\scoverage\sof\sfts3.c.\sFixes\sfor\sbugs\srevealed\sby\sthe\ssame.
-D 2010-10-25T19:01:25
+C More\scoverage\stests\sfor\sfts3.c.
+D 2010-10-26T07:14:26
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2c8cefd962eca0147132c7cf9eaa4bb24c656f3f
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -61,9 +61,9 @@ F ext/fts2/mkfts2amal.tcl 974d5d438cb3f7c4a652639262f82418c1e4cff0
 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
 F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9
 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
-F ext/fts3/fts3.c 989ab87071f160f1459359058e629ca00cb13f70
+F ext/fts3/fts3.c e78273903ca271d90fe30f32832de18b730e5818
 F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
-F ext/fts3/fts3Int.h 11fa12ce041bacbc6ac53db127eb0bcc0538af51
+F ext/fts3/fts3Int.h 819bc2661c8f3b46221d146f1810dc6741819f55
 F ext/fts3/fts3_expr.c ee48b9278b8b2432a05a03320fbcacba151dbaa5
 F ext/fts3/fts3_hash.c 3c8f6387a4a7f5305588b203fa7c887d753e1f1c
 F ext/fts3/fts3_hash.h 8331fb2206c609f9fc4c4735b9ab5ad6137c88ec
@@ -431,9 +431,9 @@ F test/fts3ao.test b83f99f70e9eec85f27d75801a974b3f820e01f9
 F test/fts3atoken.test 25c2070e1e8755d414bf9c8200427b277a9f99fa
 F test/fts3b.test e93bbb653e52afde110ad53bbd793f14fe7a8984
 F test/fts3c.test fc723a9cf10b397fdfc2b32e73c53c8b1ec02958
-F test/fts3cov.test a02a9abee9e40a8e964e015e8e76abeacd1ea7e1
+F test/fts3cov.test e0fb00d8b715ddae4a94c305992dfc3ef70353d7
 F test/fts3d.test 95fb3c862cbc4297c93fceb9a635543744e9ef52
-F test/fts3defer.test 422566346d8f2da95dc5be9b0d3ddae86990240a
+F test/fts3defer.test 1f75427fa35d7715595c91575b7c5d449fd28089
 F test/fts3defer2.test 1a9f213ca79509b60d81460febc7e4e5b64af95c
 F test/fts3e.test 1f6c6ac9cc8b772ca256e6b22aaeed50c9350851
 F test/fts3expr.test 5e745b2b6348499d9ef8d59015de3182072c564c
@@ -877,7 +877,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P a8b1d99899678b72c2a487909eabed321593d55f
-R b112f25d96f2f7bfd00311268c363283
+P 918b609290127f54326c638d82837d117398eade
+R eb8dee96b23ed044e3e188dc32bc02ca
 U dan
-Z e6dd64e790348520f70c858c0027a456
+Z 86656592adbe34ecce7b6ce9cf686881
index 8757f8c717d563dcad74d79d935d9fe82d9eef92..633f8d0fd3dddeadc74381b0f33aeae08bdb8c7c 100644 (file)
@@ -1 +1 @@
-918b609290127f54326c638d82837d117398eade
\ No newline at end of file
+7a2f2864002d4e9a487e2779ae05513880ecb4d1
\ No newline at end of file
index 87e8b39562b066ec618e2dd98fcf1b11a85ecc10..c43999d2da04c7be895a1250a6302fd3062309bd 100644 (file)
@@ -415,6 +415,18 @@ do_catchsql_test 16.2 {
   SELECT * FROM t16 WHERE t16 MATCH 'invisible'
 } {1 {database disk image is malformed}}
 
+# And another corruption test case.
+#
+do_execsql_test 17.1 {
+  CREATE VIRTUAL TABLE t17 USING fts4;
+  INSERT INTO t17(content) VALUES('one one one');
+  UPDATE t17_segdir SET root = X'00036F6E65FFFFFFFFFFFFFFFFFFFFFF02030300'
+} {}
+do_catchsql_test 17.2 {
+  SELECT * FROM t17 WHERE t17 MATCH 'one'
+} {1 {database disk image is malformed}}
+
+
 
 
 finish_test
index 67f89bab16637982a41958cac881ed6122d1e5a3..d3b0a0023edfe56f82c6d1f83d19b28986d19127 100644 (file)
@@ -210,7 +210,7 @@ foreach {tn setup} {
     foreach doc $data { execsql { INSERT INTO t1 VALUES($doc) } }
   }
   3 {
-    #set dmt_modes {0 1 2}
+    set dmt_modes {0 1 2}
     execsql { CREATE VIRTUAL TABLE t1 USING FTS4 }
     foreach doc $data { execsql { INSERT INTO t1 VALUES($doc) } }
     execsql $zero_long_doclists
@@ -392,14 +392,14 @@ foreach {tn setup} {
     WHERE t1 MATCH 'vgsld (hrlipdm OR (aayxpmve duszemmzl))'
   } {10}
   do_select_test 6.2.1 {
-    SELECT rowid FROM t1 WHERE t1 MATCH '"jk jcpiwj"'
-  } {39 40}
+    SELECT rowid FROM t1 WHERE t1 MATCH '"jk xduvfhk"'
+  } {8}
   do_select_test 6.2.2 {
-    SELECT rowid FROM t1 WHERE t1 MATCH '"zm xnxhf"'
-  } {40 47}
+    SELECT rowid FROM t1 WHERE t1 MATCH '"zm azavwm"'
+  } {15 26 92 96}
   do_select_test 6.2.3 {
-    SELECT rowid FROM t1 WHERE t1 MATCH '"jk jcpiwj" OR "zm xnxhf"'
-  } {39 40 47}
+    SELECT rowid FROM t1 WHERE t1 MATCH '"jk xduvfhk" OR "zm azavwm"'
+  } {8 15 26 92 96}
 }
 
 set testprefix fts3defer