| Bug #27697 | Non-western-collation searches fail if index exists | ||
|---|---|---|---|
| Submitted: | 7 Apr 2007 15:00 | Modified: | 20 May 2007 7:37 |
| Reporter: | Hakan Kuecuekyilmaz | ||
| Status: | Closed | ||
| Category: | Server: Falcon | Severity: | S2 (Serious) |
| Version: | OS: | Linux | |
| Assigned to: | Kevin Lewis | Target Version: | |
[7 Apr 2007 15:00]
Hakan Kuecuekyilmaz
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 15:28]
Hakan Kuecuekyilmaz
[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 8:01]
Hakan Kuecuekyilmaz
Test case is falcon_bug_27697.test which is failing.
[9 May 2007 21:09]
Kevin Lewis
Fixed with recent code changes for handling MySQL character sets.
[14 May 2007 19:26]
Hakan Kuecuekyilmaz
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 7: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)