| Bug #27697 | Non-western-collation searches fail if index exists | ||
|---|---|---|---|
| Submitted: | 7 Apr 2007 13:00 | Modified: | 20 May 2007 5:37 |
| Reporter: | Hakan Küçükyılmaz | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S2 (Serious) |
| Version: | OS: | Linux | |
| Assigned to: | Kevin Lewis | CPU Architecture: | Any |
[7 Apr 2007 13:00]
Hakan Küçükyılmaz
I confirm that the search for 'i' works correctly now. But a search for 'I' fails.
I'm opening the bug again (if there's a different standard procedure, correct me).
How to repeat:
set names utf8;
create table i (i char(1) character set utf8 collate utf8_turkish_ci) engine=jstar;
insert into i values ('i'),('ı');
select * from i where i = 'i';
create index i on i (i);
select * from i where i = 'i';
select * from i where i = 'I';
[7 Apr 2007 13:28]
Hakan Küçükyılmaz
[15:27] root@test>SELECT * FROM i where i = 'I'; +------+ | i | +------+ | ı | +------+ 1 row in set (0.00 sec) [15:27] root@test>CREATE INDEX i ON i (i); Query OK, 2 rows affected (0.03 sec) Records: 2 Duplicates: 0 Warnings: 0 [15:27] root@test>SELECT * FROM i where i = 'I'; Empty set (0.02 sec)
[17 Apr 2007 6:01]
Hakan Küçükyılmaz
Test case is falcon_bug_27697.test which is failing.
[9 May 2007 19:09]
Kevin Lewis
Fixed with recent code changes for handling MySQL character sets.
[14 May 2007 17:26]
Hakan Küçükyılmaz
test case falcon_bug_27697 passes now: TEST RESULT TIME (ms) ------------------------------------------------------- falcon_bug_27697 [ pass ] 88 ------------------------------------------------------- Stopping All Servers All 1 tests were successful. The servers were restarted 1 times Spent 0.088 seconds actually executing testcases
[20 May 2007 5:37]
MC Brown
A note has been added to the 6.0.1 changelog.

Description: JStar can't handle some character sets and collations. This is just a sample. Inspired by ctype*.test. How to repeat: mysql> create table i (i char(1) character set utf8 collate utf8_turkish_ci) engine=jstar; Query OK, 0 rows affected (0.01 sec) mysql> insert into i values ('i'),('ı'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from i where i = 'i'; +------+ | i | +------+ | i | | ı | +------+ 2 rows in set (0.00 sec) mysql> create index i on i (i); Query OK, 2 rows affected (0.03 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from i where i = 'i'; +------+ | i | +------+ | i | +------+ 1 row in set (0.00 sec)