]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an uninitialized variable in fts3.c.
authordan <dan@noemail.net>
Fri, 26 Nov 2010 16:31:43 +0000 (16:31 +0000)
committerdan <dan@noemail.net>
Fri, 26 Nov 2010 16:31:43 +0000 (16:31 +0000)
FossilOrigin-Name: 3c3d076b42da36cd5413749ec022d0349325edfa

ext/fts3/fts3.c
manifest
manifest.uuid
test/fts3matchinfo.test

index c9a763ebc745dc552e653ea0f531e99527db3c13..89eb928826991633123e13c3171d6da97adccdd6 100644 (file)
@@ -2254,7 +2254,7 @@ static int fts3PhraseSelect(
 
   for(ii=0; ii<pPhrase->nToken; ii++){
     Fts3PhraseToken *pTok;        /* Token to find doclist for */
-    int iTok;                     /* The token being queried this iteration */
+    int iTok = 0;                 /* The token being queried this iteration */
     char *pList = 0;              /* Pointer to token doclist */
     int nList = 0;                /* Size of buffer at pList */
 
index 926d333aa342c4af2741c25af059d3579a92c37e..e5d2b3ca4cebdeb548b26f708c6f0bb0d825c728 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\sfts3\smatchinfo()\schanges\swith\strunk.
-D 2010-11-26T15:17:13
+C Fix\san\suninitialized\svariable\sin\sfts3.c.
+D 2010-11-26T16:31:44
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 4547616ad2286053af6ccccefa242dc925e49bf0
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -61,7 +61,7 @@ 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 0e207ae8008bb37e5c8a10581da328709b318354
+F ext/fts3/fts3.c 7fda91bbe8d6e4a84bed15c38c1e5768347c3609
 F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
 F ext/fts3/fts3Int.h 52c818623c60943bc4ac4a22d77b2e8f28395e78
 F ext/fts3/fts3_expr.c ee48b9278b8b2432a05a03320fbcacba151dbaa5
@@ -446,7 +446,7 @@ F test/fts3expr.test 5e745b2b6348499d9ef8d59015de3182072c564c
 F test/fts3expr2.test 18da930352e5693eaa163a3eacf96233b7290d1a
 F test/fts3fault.test f83e556465bb69dc8bc676339eca408dce4ca246
 F test/fts3malloc.test 9c8cc3f885bb4dfc66d0460c52f68f45e4710d1b
-F test/fts3matchinfo.test ae33ea9149b9867b0353b30647fb59d705dea339
+F test/fts3matchinfo.test ae910aa666285e14743a80799214bfb3f1aab8f2
 F test/fts3near.test 2e318ee434d32babd27c167142e2b94ddbab4844
 F test/fts3query.test ef79d31fdb355d094baec1c1b24b60439a1fb8a2
 F test/fts3rnd.test 707533ce943f490443ce5e696236bb1675a37635
@@ -889,7 +889,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 461f1a010f55e7da6b43ea65550066b1ca7abad0 ad8df6c5ee0055cf1161a3b700d69dbe07d969bc
-R 2c5f31c8d333c565e4e278772ba9f1b5
+P 7d660b91b748126c499285713bd0237530a1a601
+R bf3c79b7317123c38edff4a337096bab
 U dan
-Z ccfce84e75ba63e1edaa17daabaf1c82
+Z e6c80a7ed69438f59cf0d2cdb47a5fa6
index a3d497e4f9b620c0a0cd6a923b39c4e509212d3b..536ecd90cd191f4a813799a03c5f9540ac429ce6 100644 (file)
@@ -1 +1 @@
-7d660b91b748126c499285713bd0237530a1a601
\ No newline at end of file
+3c3d076b42da36cd5413749ec022d0349325edfa
\ No newline at end of file
index a7b49cf5ec48b90d57c1cd84d8dfdbe6c6531ad0..be9682aa7eb9730ac8f391a73b0af37f3b9cd5f4 100644 (file)
@@ -317,5 +317,26 @@ do_catchsql_test 6.2 {
   SELECT offsets(t9) FROM t9 WHERE t9 MATCH 'to';
 } {1 {database disk image is malformed}}
 
+#-------------------------------------------------------------------------
+# Test the outcome of matchinfo() when used within a query that does not
+# use the full-text index (i.e. lookup by rowid or full-table scan).
+#
+do_execsql_test 7.1 {
+  CREATE VIRTUAL TABLE t10 USING fts4;
+  INSERT INTO t10 VALUES('first record');
+  INSERT INTO t10 VALUES('second record');
+}
+do_execsql_test 7.2 {
+  SELECT typeof(matchinfo(t10)), length(matchinfo(t10)) FROM t10;
+} {blob 0 blob 0}
+do_execsql_test 7.3 {
+  SELECT typeof(matchinfo(t10)), length(matchinfo(t10)) FROM t10 WHERE docid=1;
+} {blob 0}
+do_execsql_test 7.4 {
+  SELECT typeof(matchinfo(t10)), length(matchinfo(t10)) 
+  FROM t10 WHERE t10 MATCH 'record'
+} {blob 20 blob 20}
+
+
 finish_test