Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Cherrypick patch [3126754c72] from the trunk into the content= branch. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | fts4-content |
Files: | files | file ages | folders |
SHA1: |
f9b5b217088a6aeb25eba184ab92d1a8 |
User & Date: | dan 2011-10-18 12:49:59.086 |
Context
2011-10-18
| ||
19:39 | If a token within an FTS query is prefixed with a '^' character, it must be the first token in a column of data to match. (check-in: 63ac33c860 user: dan tags: fts4-content) | |
12:49 | Cherrypick patch [3126754c72] from the trunk into the content= branch. (check-in: f9b5b21708 user: dan tags: fts4-content) | |
2011-10-05
| ||
15:11 | Change FTS4 so that if both the content=xxx option and column names are specified, the virtual table assumes that the named columns correspond to columns of table xxx. (check-in: 289ee43179 user: dan tags: fts4-content) | |
Changes
Changes to ext/fts3/fts3.c.
︙ | ︙ | |||
4140 4141 4142 4143 4144 4145 4146 | ** that will be loaded if all subsequent tokens are deferred. */ Fts3PhraseToken *pToken = pTC->pToken; rc = sqlite3Fts3DeferToken(pCsr, pToken, pTC->iCol); fts3SegReaderCursorFree(pToken->pSegcsr); pToken->pSegcsr = 0; }else{ | > > > | > | 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 | ** that will be loaded if all subsequent tokens are deferred. */ Fts3PhraseToken *pToken = pTC->pToken; rc = sqlite3Fts3DeferToken(pCsr, pToken, pTC->iCol); fts3SegReaderCursorFree(pToken->pSegcsr); pToken->pSegcsr = 0; }else{ /* Set nLoad4 to the value of (4^nOther) for the next iteration of the ** for-loop. Except, limit the value to 2^24 to prevent it from ** overflowing the 32-bit integer it is stored in. */ if( ii<12 ) nLoad4 = nLoad4*4; if( ii==0 || pTC->pPhrase->nToken>1 ){ /* Either this is the cheapest token in the entire query, or it is ** part of a multi-token phrase. Either way, the entire doclist will ** (eventually) be loaded into memory. It may as well be now. */ Fts3PhraseToken *pToken = pTC->pToken; int nList = 0; char *pList = 0; |
︙ | ︙ |
Changes to test/fts3defer.test.
︙ | ︙ | |||
444 445 446 447 448 449 450 451 452 453 | ); INSERT INTO x1(x1) VALUES('optimize'); " do_execsql_test 3.3 { SELECT count(*) FROM x1 WHERE x1 MATCH '"d e f"' } {16} finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 | ); INSERT INTO x1(x1) VALUES('optimize'); " do_execsql_test 3.3 { SELECT count(*) FROM x1 WHERE x1 MATCH '"d e f"' } {16} # At one point the following was causing a floating-point exception. # do_execsql_test 4.1 { CREATE VIRTUAL TABLE x2 USING FTS4(x); BEGIN; INSERT INTO x2 VALUES('m m m m m m m m m m m m m m m m m m m m m m m m m m'); INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 SELECT * FROM x2; INSERT INTO x2 VALUES('a b c d e f g h i j k l m n o p q r s t u v w x y m'); COMMIT; } do_execsql_test 4.2 { SELECT * FROM x2 WHERE x2 MATCH 'a b c d e f g h i j k l m n o p q r s'; } {{a b c d e f g h i j k l m n o p q r s t u v w x y m}} finish_test |