Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Ensure that the idxStr for FTS5 is always zero-terminated. Fix for check-in [9d418a7a491761ee] |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
090cd07d37904da4610d6a6787a3cc82 |
User & Date: | drh 2019-09-13 13:23:13.490 |
Original Comment: | Ensure that the idxStr for FTS5 is always zero-terminated. Fix for check-in [e6db945454a0dae2] |
Context
2019-09-13
| ||
17:30 | Fix a typo in the carray extension header comment - the comment that serves as the documentation to this extension. (check-in: 658a42d363 user: drh tags: trunk) | |
16:19 | Merge latest trunk changes with this branch. (check-in: 14ef754346 user: dan tags: window-functions-subtype-fix) | |
13:23 | Ensure that the idxStr for FTS5 is always zero-terminated. Fix for check-in [9d418a7a491761ee] (check-in: 090cd07d37 user: drh tags: trunk) | |
12:24 | Fix harmless compiler warnings. (check-in: a8927d14f8 user: drh tags: trunk) | |
Changes
Changes to ext/fts5/fts5_main.c.
︙ | ︙ | |||
563 564 565 566 567 568 569 570 571 572 573 574 575 576 | || (p->op==SQLITE_INDEX_CONSTRAINT_EQ && iCol>=nCol) ){ /* A MATCH operator or equivalent */ if( p->usable==0 || iCol<0 ){ /* As there exists an unusable MATCH constraint this is an ** unusable plan. Set a prohibitively high cost. */ pInfo->estimatedCost = 1e50; return SQLITE_OK; }else{ if( iCol==nCol+1 ){ if( bSeenRank ) continue; idxStr[iIdxStr++] = 'r'; bSeenRank = 1; }else{ | > > | 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 | || (p->op==SQLITE_INDEX_CONSTRAINT_EQ && iCol>=nCol) ){ /* A MATCH operator or equivalent */ if( p->usable==0 || iCol<0 ){ /* As there exists an unusable MATCH constraint this is an ** unusable plan. Set a prohibitively high cost. */ pInfo->estimatedCost = 1e50; assert( iIdxStr < pInfo->nConstraint*6 + 1 ); idxStr[iIdxStr] = 0; return SQLITE_OK; }else{ if( iCol==nCol+1 ){ if( bSeenRank ) continue; idxStr[iIdxStr++] = 'r'; bSeenRank = 1; }else{ |
︙ | ︙ |