Bug #19607 German Case Sensitive Collation is missing
Submitted: 8 May 2006 13:45 Modified: 17 May 2006 23:29
Reporter: Kristian Koehntopp Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Charsets Severity:S4 (Feature request)
Version:4.1, 5.0, 5.1 OS:Any (Any)
Assigned to: Assigned Account CPU Architecture:Any
Triage: Triaged: D5 (Feature request)

[8 May 2006 13:45] Kristian Koehntopp
Description:
Other databases do national-character-set specific case-sensitive comparision, but MySQL does national-character-set specific comparisions only case-insensitive. For a migration project from Sybase to MySQL, latin1_german1_cs is required.

How to repeat:
create table ch (
 i integer unsigned not null,
 cs varchar(80) charset latin1 collate latin1_german1_ci binary not null
);

then 

show create table ch\G

The national character set information is lost, and latin1_bin is used. This does not sort german umlauts properly (äöü -> aou, ß -> s).

Suggested fix:
The support issues 9518 contains a patch and a test case, the patch for german1 does not require recompile. Please include in all new 4.1, 5.0 and 5.1 releases.

A similar patch for german2 requires recompile, because combo1map needs changes (äöü -> ae,oe,ue and ß -> ss). Because that sort order is used ONLY in german phonebooks and nowhere else, that patch has not been created yet for this migration project.
[9 May 2006 12:46] Domas Mituzas
Thanks for feature request with files! 
I did reset assignments/priorities/severity, for regular escalation process.
[9 May 2006 15:08] Domas Mituzas
A patch for german case sensitive collation

Attachment: patch (application/octet-stream, text), 1.58 KiB.

[9 May 2006 15:17] Domas Mituzas
Test table with data for sorting: After loading, "select * from ch order by bin", "order by ci" and "order by cs" to check.

Attachment: load.sql (application/octet-stream, text), 7.08 KiB.