Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add test cases for fts4aux. Fix a bug affecting fts3 tables with multiple columns. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
dc511e60a65232a7087e12ff40b63506 |
User & Date: | dan 2011-02-05 14:37:57.437 |
Context
2011-02-05
| ||
15:47 | Ensure fts4aux can handle a table name in single or double quotes as a constructor argument. (check-in: 929d62e496 user: dan tags: trunk) | |
14:37 | Add test cases for fts4aux. Fix a bug affecting fts3 tables with multiple columns. (check-in: dc511e60a6 user: dan tags: trunk) | |
2011-02-04
| ||
18:56 | Change fts4aux to (additionally) report on term frequency in individual columns of an fts table. (check-in: 3996f92a9a user: dan tags: trunk) | |
Changes
Changes to ext/fts3/fts3_aux.c.
︙ | ︙ | |||
298 299 300 301 302 303 304 | }else{ /* 2 or greater. A position. */ pCsr->aStat[iCol+1].nOcc++; pCsr->aStat[0].nOcc++; } break; /* State 3. The integer just read is a column number. */ | | | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | }else{ /* 2 or greater. A position. */ pCsr->aStat[iCol+1].nOcc++; pCsr->aStat[0].nOcc++; } break; /* State 3. The integer just read is a column number. */ default: assert( eState==3 ); iCol = (int)v; if( fts3auxGrowStatArray(pCsr, iCol+2) ) return SQLITE_NOMEM; pCsr->aStat[iCol+1].nDoc++; eState = 2; break; } } |
︙ | ︙ |
Changes to test/fts3fault2.test.
︙ | ︙ | |||
35 36 37 38 39 40 41 | do_faultsim_test 1.2 -prep { faultsim_restore_and_reopen db eval {SELECT * FROM sqlite_master} } -body { execsql "SELECT * FROM terms" } -test { | | | | > > > > > > | > > > > > > > > > > > | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | do_faultsim_test 1.2 -prep { faultsim_restore_and_reopen db eval {SELECT * FROM sqlite_master} } -body { execsql "SELECT * FROM terms" } -test { faultsim_test_result {0 {a * 1 1 a 0 1 1 b * 1 1 b 0 1 1 c * 2 2 c 0 2 2 d * 1 1 d 0 1 1 e * 1 1 e 0 1 1}} } do_faultsim_test 1.3 -prep { faultsim_restore_and_reopen db eval {SELECT * FROM sqlite_master} } -body { execsql "SELECT * FROM terms WHERE term>'a' AND TERM < 'd'" } -test { faultsim_test_result {0 {b * 1 1 b 0 1 1 c * 2 2 c 0 2 2}} } do_faultsim_test 1.4 -prep { faultsim_restore_and_reopen db eval {SELECT * FROM sqlite_master} } -body { execsql "SELECT * FROM terms WHERE term='c'" } -test { faultsim_test_result {0 {c * 2 2 c 0 2 2}} } do_test 2.0 { faultsim_delete_and_reopen execsql { CREATE VIRTUAL TABLE tx USING fts4(a, b); INSERT INTO tx VALUES('a b c', 'x y z'); CREATE VIRTUAL TABLE terms2 USING fts4aux(tx); } faultsim_save_and_close } {} do_faultsim_test 2.1 -prep { faultsim_restore_and_reopen db eval {SELECT * FROM sqlite_master} } -body { execsql "SELECT * FROM terms2" } -test { faultsim_test_result {0 {a * 1 1 a 0 1 1 b * 1 1 b 0 1 1 c * 1 1 c 0 1 1 x * 1 1 x 1 1 1 y * 1 1 y 1 1 1 z * 1 1 z 1 1 1}} } finish_test |