sqlitebrowser / sqlitebrowser/sqlitebrowser
Case insensitive compare for non-Unicode characters
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 24.6k
- Forks
- 2.4k
- Avg merge
- 3d 49m
- Merged PRs (30d)
- 3
Description
Details for the issue
What did you do?
I opened a containing tables with text fields containing non-unicode (Cyrillic) data. Then I switched to the "Browse Data" tab, switched to one such table and tried to filter the text fields. I tried with both leaving collation as non-specifed and UTF16CI.
What did you expect to see?
I wanted to be able to filter (both interactively and via SQL scripts) rows, for which the filter string composed of mixed cases Cyrillic letters matches the content case insensitively.
What did you see instead?
When I indicated UTFCI collation, I received the warning
"Collation needed! Proceed? A table in this database requires a special collation function 'UTF16CI' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup!".
I proceeded, but filtering for Cyrillic strings only worked in case sensitive fashion.
Useful extra information
The info below often helps, please fill it out if you're able to. :)
What operating system are you using?
- Windows: ( version: 10 )
- Linux: ( distro: ___ )
- macOS: ( version: ___ )
- Other: ___
What is your DB4S version?
- 3.12.1
- 3.12.0
- 3.11.x
- Other: ___
Did you also
- Try out the latest nightly version: https://github.com/sqlitebrowser/sqlitebrowser#nightly-builds
- Search for an existing similar issue: https://github.com/sqlitebrowser/sqlitebrowser/issues?utf8=%E2%9C%93&q=is%3Aissue%20
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue in the Browse Data tab with Cyrillic text, using both unspecified collation and UTF16CI, then compare interactive filtering with the equivalent SQL query. Done means mixed-case Cyrillic filtering works case-insensitively without the UTF16CI warning or incorrect results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, sqlite
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100