diff options
Diffstat (limited to 'dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch')
| -rw-r--r-- | dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch b/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch deleted file mode 100644 index 369732f81b38..000000000000 --- a/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch +++ /dev/null @@ -1,125 +0,0 @@ -https://bugs.gentoo.org/921490 -https://www.sqlite.org/forum/forumpost/d16aeb397d - -https://github.com/kovidgoyal/calibre/commit/0a23fabd5b4bff152047ba0cffbc2b67592645d1 -https://github.com/kovidgoyal/calibre/commit/3349979551db05ec0c8754d7ea5a4e57a97f8a0a -https://github.com/kovidgoyal/calibre/commit/da82b673f09efbe9cdcc1e0900f0a9f04d8de052 ---- a/ext/fts5/fts5_aux.c -+++ b/ext/fts5/fts5_aux.c -@@ -209,10 +209,18 @@ - rc = fts5CInstIterNext(&p->iter); - } - } - - if( iPos==p->iRangeEnd ){ -+ if( p->bOpen ){ -+ if( p->iter.iStart>=0 && iPos>=p->iter.iStart ){ -+ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff); -+ p->iOff = iEndOff; -+ } -+ fts5HighlightAppend(&rc, p, p->zClose, -1); -+ p->bOpen = 0; -+ } - fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff); - p->iOff = iEndOff; - } - - return rc; - -ADDED ext/fts5/test/fts5tokenizer2.test -Index: ext/fts5/test/fts5tokenizer2.test -================================================================== ---- /dev/null -+++ b/ext/fts5/test/fts5tokenizer2.test -@@ -0,0 +1,89 @@ -+# 2023 Nov 03 -+# -+# The author disclaims copyright to this source code. In place of -+# a legal notice, here is a blessing: -+# -+# May you do good and not evil. -+# May you find forgiveness for yourself and forgive others. -+# May you share freely, never taking more than you give. -+# -+#*********************************************************************** -+# -+# Tests focusing on the built-in fts5 tokenizers. -+# -+ -+source [file join [file dirname [info script]] fts5_common.tcl] -+set testprefix fts5tokenizer2 -+ -+# If SQLITE_ENABLE_FTS5 is defined, omit this file. -+ifcapable !fts5 { -+ finish_test -+ return -+} -+ -+sqlite3_fts5_create_tokenizer db tst get_tst_tokenizer -+proc get_tst_tokenizer {args} { -+ return "tst_tokenizer" -+} -+proc tst_tokenizer {flags txt} { -+ set token "" -+ set lTok [list] -+ -+ foreach c [split $txt {}] { -+ if {$token==""} { -+ append token $c -+ } else { -+ set t1 [string is upper $token] -+ set t2 [string is upper $c] -+ -+ if {$t1!=$t2} { -+ lappend lTok $token -+ set token "" -+ } -+ append token $c -+ } -+ } -+ if {$token!=""} { lappend lTok $token } -+ -+ set iOff 0 -+ foreach t $lTok { -+ set n [string length $t] -+ sqlite3_fts5_token $t $iOff [expr $iOff+$n] -+ incr iOff $n -+ } -+} -+ -+do_execsql_test 1.0 { -+ CREATE VIRTUAL TABLE t1 USING fts5(t, tokenize=tst); -+} -+ -+do_execsql_test 1.1 { -+ INSERT INTO t1 VALUES('AAdontBBmess'); -+} -+ -+do_execsql_test 1.2 { -+ SELECT snippet(t1, 0, '>', '<', '...', 4) FROM t1('BB'); -+} {AAdont>BB<mess} -+ -+do_execsql_test 1.3 { -+ SELECT highlight(t1, 0, '>', '<') FROM t1('BB'); -+} {AAdont>BB<mess} -+ -+do_execsql_test 1.4 { -+ SELECT highlight(t1, 0, '>', '<') FROM t1('AA'); -+} {>AA<dontBBmess} -+ -+do_execsql_test 1.5 { -+ SELECT highlight(t1, 0, '>', '<') FROM t1('dont'); -+} {AA>dont<BBmess} -+ -+do_execsql_test 1.6 { -+ SELECT highlight(t1, 0, '>', '<') FROM t1('mess'); -+} {AAdontBB>mess<} -+ -+do_execsql_test 1.7 { -+ SELECT highlight(t1, 0, '>', '<') FROM t1('BB mess'); -+} {AAdont>BBmess<} -+ -+ -+finish_test - - |
