On 03/18/2014 10:02 PM, Alex Loukissas wrote:
Alex,
I suppose I can declare the column as BINARY and use LOWER( ) in my select
statements. Browsing through the code though, I do see uses of u_foldCase
in certain places, which leads me to believe that what I want may be
already there. I'll try to unit test this.
Correct me if i'm wrong, but i think i reproduced bug you've described
in SQLite with ICU extension compiled in:
sqlite> CREATE TABLE test (x COLLATE NOCASE);
sqlite> INSERT INTO test VALUES ('s');
sqlite> INSERT INTO test VALUES ('S');
sqlite> INSERT INTO test VALUES ('ё'); -- Russian e with diacritic
sqlite> INSERT INTO test VALUES ('Ё'); -- Russian E with diacritic
sqlite> SELECT * FROM test WHERE x = 'ё';
ё
sqlite> SELECT * FROM test WHERE x = 's';
s
S
This might be a point of interest for SQLite ICU extension developers.
On the other hand, SQLite nunicode extension, which i developed, do that:
sqlite> SELECT * FROM test WHERE x = 'ё';
ё
sqlite> .load ./libnusqlite3.so
sqlite> SELECT * FROM test WHERE x = 'ё';
ё
Ё
You can try nunicode by following this link:
https://bitbucket.org/alekseyt/nunicode/overview#markdown-header-sqlite3-extension
Hope this helps.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users