-C Add\stests\s(and\sa\sfix)\sfor\slarge\sand\ssmall\sfts\sdocid\svalues\swith\svarious\slanguageid_bits\ssettings.
-D 2013-06-20T11:48:02.473
+C Add\sextra\stests\sfor\sfts\swith\sa\snon-zero\slanguageid_bits\ssetting.\sFix\squerying\sby\sdocid\swith\sthe\ssame.
+D 2013-06-20T16:22:32.207
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
F ext/fts3/README.tokenizers e0a8b81383ea60d0334d274fadf305ea14a8c314
F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
-F ext/fts3/fts3.c b0c6f122591ef6e8d77dedfc1db6b0facfac2223
+F ext/fts3/fts3.c 6b8ca2c8e5ebcf8735b3adf023d2ac15bd21b5e1
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
F ext/fts3/fts3Int.h 9bef3710aa94fc27b117eca41088aa29ed99d4f1
F ext/fts3/fts3_aux.c b02632f6dd0e375ce97870206d914ea6d8df5ccd
F test/fts4check.test 66fa274cab2b615f2fb338b257713aba8fad88a8
F test/fts4content.test 6efc53b4fd03cab167e6998d2b0b7d4b7d419ee6
F test/fts4langid.test 24a6e41063b416bbdf371ff6b4476fa41c194aa7
-F test/fts4langid2.test 7c46337ed5fae26b30ef14bb8047c086343832c3
+F test/fts4langid2.test b47f67ab68165f4b0df864fa5b01dbaadf27d3aa
F test/fts4merge.test c424309743fdd203f8e56a1f1cd7872cd66cc0ee
F test/fts4merge2.test 5faa558d1b672f82b847d2a337465fa745e46891
F test/fts4merge3.test aab02a09f50fe6baaddc2e159c3eabc116d45fc7
F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16
F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
F test/percentile.test 4614301e38398df7fdd5f28f4ed8f272b328251b
-F test/permutations.test d997a947ab8aabb15f763d50a030b3c11e8ef1b6
+F test/permutations.test 5a937ed83e743c260ea9b483c007feb425935bc2
F test/pragma.test 5e7de6c32a5d764f09437d2025f07e4917b9e178
F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947
F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
-P 610e7e9612abcbd072a42ab83bd75148a15065b8
-R cb3a5a54d66de37d154757df9c941cd7
+P 8dc261b765e580b100a3a9616ac540eedad345d5
+R 96376b97c43805db6a89e9bae52eb324
U dan
-Z 1d4a473ba21d934e41f2eaa5863b53f6
+Z a4533c64fd67c7a7ea0a81d6fa76cdd1
do_execsql_test 5.$bits.5 { DROP TABLE t1 }
}
+#-------------------------------------------------------------------------
+# Tests for auxilliary functions with langaugeid_bits tables.
+#
+proc mit {blob} {
+ set scan(littleEndian) i*
+ set scan(bigEndian) I*
+ binary scan $blob $scan($::tcl_platform(byteOrder)) r
+ return $r
+}
+db func mit mit
+
+do_execsql_test 6.1 {
+ CREATE VIRTUAL TABLE t1 USING fts4(languageid_bits=4, languageid=lid);
+ INSERT INTO t1(docid,lid,content) VALUES(1, 1, 'one two three four');
+ INSERT INTO t1(docid,lid,content) VALUES(2, 1, 'two three four five');
+ INSERT INTO t1(docid,lid,content) VALUES(3, 1, 'three four five six');
+ INSERT INTO t1(docid,lid,content) VALUES(4, 1, 'four five six seven');
+
+ INSERT INTO t1(docid,lid,content) VALUES(1, 2, 'four three two one');
+ INSERT INTO t1(docid,lid,content) VALUES(2, 2, 'five four three two');
+ INSERT INTO t1(docid,lid,content) VALUES(3, 2, 'six five four three');
+ INSERT INTO t1(docid,lid,content) VALUES(4, 2, 'A B C D');
+}
+
+do_execsql_test 6.2.1 {
+ SELECT docid, snippet(t1) FROM t1 WHERE t1 MATCH 'one' AND lid=1;
+} {1 {<b>one</b> two three four}}
+do_execsql_test 6.2.2 {
+ SELECT docid, snippet(t1) FROM t1 WHERE t1 MATCH 'one' AND lid=2;
+} {1 {four three two <b>one</b>}}
+
+do_execsql_test 6.2.1 {
+ SELECT docid, offsets(t1) FROM t1 WHERE t1 MATCH 'two' AND lid=1;
+} {1 {0 0 4 3} 2 {0 0 0 3}}
+do_execsql_test 6.2.2 {
+ SELECT docid, offsets(t1) FROM t1 WHERE t1 MATCH 'two' AND lid=2;
+} {1 {0 0 11 3} 2 {0 0 16 3}}
+
+do_execsql_test 6.3.1 {
+ SELECT docid, mit(matchinfo(t1)) FROM t1 WHERE t1 MATCH 'two' AND lid=1;
+} {1 {1 1 1 2 2} 2 {1 1 1 2 2}}
+do_execsql_test 6.3.2 {
+ SELECT docid, mit(matchinfo(t1)) FROM t1 WHERE t1 MATCH 'two' AND lid=2;
+} {1 {1 1 1 2 2} 2 {1 1 1 2 2}}
+do_execsql_test 6.3.3 {
+ SELECT docid, mit(matchinfo(t1)) FROM t1 WHERE t1 MATCH 'B' AND lid=1;
+} {}
+do_execsql_test 6.3.4 {
+ SELECT docid, mit(matchinfo(t1)) FROM t1 WHERE t1 MATCH 'B' AND lid=2;
+} {4 {1 1 1 1 1}}
+
+do_execsql_test 6.4 {
+ CREATE VIRTUAL TABLE t2 USING fts4(languageid_bits=1, languageid=lid);
+ INSERT INTO t1(docid,lid,content) VALUES(-1, 0, 'A B C D');
+ INSERT INTO t1(docid,lid,content) VALUES(-2, 0, 'D C B A');
+ INSERT INTO t1(docid,lid,content) VALUES(-3, 0, 'C B D A');
+ INSERT INTO t1(docid,lid,content) VALUES(-4, 0, 'A D B C');
+
+ INSERT INTO t1(docid,lid,content) VALUES(-1, 1, 'A A A A');
+ INSERT INTO t1(docid,lid,content) VALUES(-2, 1, 'B B B B');
+ INSERT INTO t1(docid,lid,content) VALUES(-3, 1, 'C C C C');
+ INSERT INTO t1(docid,lid,content) VALUES(-4, 1, 'D D D D');
+}
+
+do_execsql_test 6.4.1 {
+ SELECT docid, mit(matchinfo(t1)) FROM t1 WHERE t1 MATCH 'B';
+} {
+ -4 {1 1 1 4 4}
+ -3 {1 1 1 4 4}
+ -2 {1 1 1 4 4}
+ -1 {1 1 1 4 4}
+}
+do_execsql_test 6.4.2 {
+ SELECT docid, mit(matchinfo(t1)) FROM t1 WHERE t1 MATCH 'B' AND lid=1;
+} {-2 {1 1 4 4 1}}
+
+do_execsql_test 6.5 {
+ DROP TABLE t1;
+ DROP TABLE t2;
+}
+
+#-------------------------------------------------------------------------
+# Tests for querying by docid.
+#
+
+do_execsql_test 7.1 {
+ CREATE VIRTUAL TABLE t1 USING fts4(languageid_bits=8, languageid=lid);
+ INSERT INTO t1(docid,lid,content) VALUES(10, 10, 'abc def');
+}
+
+do_execsql_test 7.2 {
+ SELECT docid,lid,content FROM t1 WHERE docid=10;
+} {10 10 {abc def}}
+
+
+
+
+
finish_test