Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Handle SQL NULL values without crashing in the fts5 snippet() and highlight() functions. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a5e9cc794f17566160c4b2b5791601a7 |
User & Date: | dan 2019-01-15 18:14:27.654 |
Context
2019-01-15
| ||
20:51 | Fix a problem with ALTER TABLE and vector assignments in UPDATE statements within triggers. (check-in: cc6cd7531f user: dan tags: trunk) | |
18:14 | Handle SQL NULL values without crashing in the fts5 snippet() and highlight() functions. (check-in: a5e9cc794f user: dan tags: trunk) | |
16:14 | Fix a buffer overread in fts3 caused by a corrupt record. (check-in: e54efd60c2 user: dan tags: trunk) | |
Changes
Changes to ext/fts5/fts5_aux.c.
︙ | ︙ | |||
132 133 134 135 136 137 138 | ** *pRc is set to an error code before returning. */ static void fts5HighlightAppend( int *pRc, HighlightContext *p, const char *z, int n ){ | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | ** *pRc is set to an error code before returning. */ static void fts5HighlightAppend( int *pRc, HighlightContext *p, const char *z, int n ){ if( *pRc==SQLITE_OK && z ){ if( n<0 ) n = (int)strlen(z); p->zOut = sqlite3_mprintf("%z%.*s", p->zOut, n, z); if( p->zOut==0 ) *pRc = SQLITE_NOMEM; } } /* |
︙ | ︙ |
Changes to ext/fts5/test/fts5ak.test.
︙ | ︙ | |||
139 140 141 142 143 144 145 146 147 148 149 | -- '[a b c d e]' SELECT highlight(ft, 0, '[', ']') FROM ft WHERE ft MATCH 'a+b+c AND c+d+e'; } { {[a b c] x [c d e]} {[a b c] [c d e]} {[a b c d e]} } } finish_test | > > > > > > > > | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | -- '[a b c d e]' SELECT highlight(ft, 0, '[', ']') FROM ft WHERE ft MATCH 'a+b+c AND c+d+e'; } { {[a b c] x [c d e]} {[a b c] [c d e]} {[a b c d e]} } do_execsql_test 3.2 { SELECT highlight(ft, 0, NULL, NULL) FROM ft WHERE ft MATCH 'a+b+c AND c+d+e'; } { {a b c x c d e} {a b c c d e} {a b c d e} } } finish_test |