fix: add Unicode case-insensitive search for SQLite (#5559)
Add custom memos_unicode_lower() SQLite function to enable proper case-insensitive text search for non-English languages (Cyrillic, Greek, CJK, etc.). Previously, SQLite's LOWER() only worked for ASCII characters due to modernc.org/sqlite lacking ICU extension. This caused searches for non-English text to be case-sensitive (e.g., searching 'блины' wouldn't find 'Блины'). Changes: - Add store/db/sqlite/functions.go with Unicode case folding function - Register custom function using golang.org/x/text/cases.Fold() - Update filter renderer to use custom function for SQLite dialect - Add test for Unicode case-insensitive search - Make golang.org/x/text a direct dependency Fixes #5559
This commit is contained in:
@@ -131,7 +131,7 @@ require (
|
||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||
github.com/valyala/fasttemplate v1.2.2 // indirect
|
||||
golang.org/x/sys v0.37.0 // indirect
|
||||
golang.org/x/text v0.30.0 // indirect
|
||||
golang.org/x/text v0.30.0
|
||||
golang.org/x/time v0.12.0 // indirect
|
||||
google.golang.org/protobuf v1.36.9
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
|
||||
Reference in New Issue
Block a user