Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix for [9861b74ab9]. Correctly handle strings with zero tokens in the fts3 offsets() function. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d37034f7fc46b83be681247fde978237 |
User & Date: | dan 2010-03-24 15:57:33.000 |
References
2010-03-26
| ||
17:40 | Correctly handle strings with zero-length tokens in the FTS3 offsets() function. This is a cherrypick of [d37034f7fc]. (check-in: ff6ae4f0e4 user: drh tags: branch-3.6.23) | |
Context
2010-03-26
| ||
01:54 | Fix OOM error on ANALYZE with STAT2 enabled with zero-length data. Ticket [cbd054fa6b]. (check-in: c33b38b59f user: shaneh tags: trunk) | |
2010-03-24
| ||
15:57 | Fix for [9861b74ab9]. Correctly handle strings with zero tokens in the fts3 offsets() function. (check-in: d37034f7fc user: dan tags: trunk) | |
11:55 | Attempt to suppress a warning from Borland Code Guard. (check-in: be27897991 user: drh tags: trunk) | |
Changes
Changes to ext/fts3/fts3_snippet.c.
︙ | ︙ | |||
1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 | } if( rc==SQLITE_OK ){ char aBuffer[64]; sqlite3_snprintf(sizeof(aBuffer), aBuffer, "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart ); rc = fts3StringAppend(&res, aBuffer, -1); } } } if( rc==SQLITE_DONE ){ | > > | | 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 | } if( rc==SQLITE_OK ){ char aBuffer[64]; sqlite3_snprintf(sizeof(aBuffer), aBuffer, "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart ); rc = fts3StringAppend(&res, aBuffer, -1); }else if( rc==SQLITE_DONE ){ rc = SQLITE_CORRUPT; } } } if( rc==SQLITE_DONE ){ rc = SQLITE_OK; } pMod->xClose(pC); if( rc!=SQLITE_OK ) goto offsets_out; } offsets_out: |
︙ | ︙ |
Changes to test/fts3ac.test.
︙ | ︙ | |||
1193 1194 1195 1196 1197 1198 1199 1200 1201 | execsql { SELECT snippet(email) FROM email WHERE email MATCH 'enron OR com questar' } } {{matt.smith@<b>enron</b>.<b>com</b><b>...</b>31 Keystone Receipts 15 <b>Questar</b> Pipeline 40 Rockies<b>...</b>}} finish_test | > > > > > > > > > > > > > > > > > > | 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 | execsql { SELECT snippet(email) FROM email WHERE email MATCH 'enron OR com questar' } } {{matt.smith@<b>enron</b>.<b>com</b><b>...</b>31 Keystone Receipts 15 <b>Questar</b> Pipeline 40 Rockies<b>...</b>}} #------------------------------------------------------------------------- # Test a problem reported on the mailing list. # do_test fts3ac-6.1 { execsql { CREATE VIRTUAL TABLE ft USING fts3(one, two); INSERT INTO ft VALUES('', 'foo'); INSERT INTO ft VALUES('foo', 'foo'); SELECT offsets(ft) FROM ft WHERE ft MATCH 'foo'; } } {{1 0 0 3} {0 0 0 3 1 0 0 3}} do_test fts3ac-6.2 { execsql { DELETE FROM ft WHERE one = 'foo'; SELECT offsets(ft) FROM ft WHERE ft MATCH 'foo'; } } {{1 0 0 3}} finish_test |