Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add test for FTS 'rebuild' command. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | fts4-languageid |
Files: | files | file ages | folders |
SHA1: |
181bc35731f19c3e4497ba3338c20991 |
User & Date: | dan 2012-03-02 16:18:21.845 |
Context
2012-03-02
| ||
19:53 | Fix problems with combining content= and languageid= in a single fts4 table. (check-in: 22491e7bc3 user: dan tags: fts4-languageid) | |
16:18 | Add test for FTS 'rebuild' command. (check-in: 181bc35731 user: dan tags: fts4-languageid) | |
12:26 | Fix the FTS 'optimize' command on multi-lingual databases. (check-in: 65fa693729 user: dan tags: fts4-languageid) | |
Changes
Changes to test/fts4langid.test.
︙ | ︙ | |||
26 27 28 29 30 31 32 | #--------------------------------------------------------------------------- # Test plan: # # 1.* - Warm-body tests created for specific purposes during development. # Passing these doesn't really prove much. # | | | > > | | | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #--------------------------------------------------------------------------- # Test plan: # # 1.* - Warm-body tests created for specific purposes during development. # Passing these doesn't really prove much. # # 2.1.* - Test that FTS queries only ever return rows associated with # the requested language. # # 2.2.* - Same as 2.1.*, after an 'optimize' command. # # 2.3.* - Same as 2.1.*, after a 'rebuild' command. # # 3.* - Test that if one is provided, the tokenizer xLanguage method # is called to configure the tokenizer before tokenizing query # or document text. # # 4.* - Test the fts4aux table when the associated FTS4 table contains # multiple languages. # # 5.* - Tests with content= tables. Both where there is a real # underlying content table and where there is not. # do_execsql_test 1.1 { CREATE VIRTUAL TABLE t1 USING fts4(a, b, languageid=lang_id); } |
︙ | ︙ | |||
120 121 122 123 124 125 126 | SELECT rowid FROM t1 WHERE t1 MATCH 'A'; } {} #------------------------------------------------------------------------- # Test cases 2.* # | < | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | SELECT rowid FROM t1 WHERE t1 MATCH 'A'; } {} #------------------------------------------------------------------------- # Test cases 2.* # proc build_multilingual_db_1 {db} { $db eval { CREATE VIRTUAL TABLE t2 USING fts4(x, y, languageid=l) } set xwords [list zero one two three four five six seven eight nine ten] set ywords [list alpha beta gamma delta epsilon zeta eta theta iota kappa] for {set i 0} {$i < 1000} {incr i} { |
︙ | ︙ | |||
254 255 256 257 258 259 260 261 262 263 264 | } do_test_2 1.4 {"zero one" OR "one two"} { or_merge_lists [rowid_list "zero one"] [rowid_list "one two"] } # Now try the same tests as above, but after running the 'optimize' # command on the FTS table. do_execsql_test 2.2 { INSERT INTO t2(t2) VALUES('optimize'); SELECT count(*) FROM t2_segdir; } {9} | > | | | | > > > > > > > > > > > > > > > > | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | } do_test_2 1.4 {"zero one" OR "one two"} { or_merge_lists [rowid_list "zero one"] [rowid_list "one two"] } # Now try the same tests as above, but after running the 'optimize' # command on the FTS table. # do_execsql_test 2.2 { INSERT INTO t2(t2) VALUES('optimize'); SELECT count(*) FROM t2_segdir; } {9} do_test_2 2.1 {delta} { rowid_list delta } do_test_2 2.2 {"zero one two"} { rowid_list "zero one two" } do_test_2 2.3 {zero one two} { and_merge_lists [rowid_list zero] [rowid_list one] [rowid_list two] } do_test_2 2.4 {"zero one" OR "one two"} { or_merge_lists [rowid_list "zero one"] [rowid_list "one two"] } # And rebuild. # do_test 2.3 { reset_db build_multilingual_db_1 db execsql { INSERT INTO t2(t2) VALUES('rebuild') } } {} do_test_2 3.1 {delta} { rowid_list delta } do_test_2 3.2 {"zero one two"} { rowid_list "zero one two" } do_test_2 3.3 {zero one two} { and_merge_lists [rowid_list zero] [rowid_list one] [rowid_list two] } do_test_2 3.4 {"zero one" OR "one two"} { or_merge_lists [rowid_list "zero one"] [rowid_list "one two"] } finish_test |