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
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)
[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.