List:Commits« Previous MessageNext Message »
From:Alexander Barkov Date:October 25 2010 7:55am
Subject:bzr commit into mysql-next-mr branch (bar:3193) WL#5476
View as plain text  
#At file:///home/bar/mysql-bzr/mysql-next-mr.w5476/ based on revid:alik@stripped

 3193 Alexander Barkov	2010-10-25
        WL#5476 Croatian collation
      
        mysql-test/include/ctype_unicode_latin.inc
        mysql-test/r/ctype_uca.result
        mysql-test/r/ctype_utf16_uca.result
        mysql-test/r/ctype_utf32_uca.result
        mysql-test/t/ctype_uca.test
        mysql-test/t/ctype_utf16_uca.test
        mysql-test/t/ctype_utf32_uca.test
        - Adding tests
      
        mysys/charset-def.c
        - Adding initialization of the new collations
      
        strings/ctype-uca.c
        - Adding tailoring for Croatian
        - Fixing a problem in my_uca_scanner_next_ucs2:
          UCS2 did not work with non-ASCII contraction in some cases.
          (a bug in WL#2673 Unicode collation algorithm new version)
        - Fixing a problem with '=' tailoring command.
          Before the fix, '=' erroneously changed current offset
          back to the reset character specified in the last & command.
          After the fix, '=' repeats the preivous offset.
        - Adding defitions for xxx_croatian_ci collations.

    modified:
      mysql-test/include/ctype_unicode_latin.inc
      mysql-test/r/ctype_uca.result
      mysql-test/r/ctype_utf16_uca.result
      mysql-test/r/ctype_utf32_uca.result
      mysql-test/t/ctype_uca.test
      mysql-test/t/ctype_utf16_uca.test
      mysql-test/t/ctype_utf32_uca.test
      mysys/charset-def.c
      strings/ctype-uca.c
=== modified file 'mysql-test/include/ctype_unicode_latin.inc'
--- a/mysql-test/include/ctype_unicode_latin.inc	2010-07-08 10:57:38 +0000
+++ b/mysql-test/include/ctype_unicode_latin.inc	2010-10-25 07:54:38 +0000
@@ -169,6 +169,7 @@ insert into t1 values ('AA'),('Aa'),('aa
 insert into t1 values ('AE'),('Ae'),('ae'),('aE');
 insert into t1 values ('CH'),('Ch'),('ch'),('cH');
 insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
+insert into t1 values ('DŽ'),('Dž'),('dž'),('dŽ');
 insert into t1 values ('IJ'),('Ij'),('ij'),('iJ');
 insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
 insert into t1 values ('LL'),('Ll'),('ll'),('lL');

=== modified file 'mysql-test/r/ctype_uca.result'
--- a/mysql-test/r/ctype_uca.result	2010-07-08 10:57:38 +0000
+++ b/mysql-test/r/ctype_uca.result	2010-10-25 07:54:38 +0000
@@ -181,6 +181,7 @@ insert into t1 values ('AA'),('Aa'),('aa
 insert into t1 values ('AE'),('Ae'),('ae'),('aE');
 insert into t1 values ('CH'),('Ch'),('ch'),('cH');
 insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
+insert into t1 values ('DŽ'),('Dž'),('dž'),('dŽ');
 insert into t1 values ('IJ'),('Ij'),('ij'),('iJ');
 insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
 insert into t1 values ('LL'),('Ll'),('ll'),('lL');
@@ -204,7 +205,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -310,7 +311,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Ð,ð
 Đ,đ
 Ɖ
@@ -425,6 +426,7 @@ CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -539,7 +541,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 z,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -757,7 +760,7 @@ CH,Ch,cH,ch
 Ć,ć
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -869,6 +872,7 @@ CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz
+DŽ,Dž,dŽ,dž
 DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
@@ -981,7 +985,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -1087,7 +1091,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,,7 +1200,7 @@ CH,Ch,cH,ch
 Ç,ç
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -1308,6 +1312,7 @@ cH
 Ž,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -1416,7 +1421,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -1526,6 +1531,7 @@ cH
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -1635,6 +1641,7 @@ cH
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -1744,7 +1751,7 @@ cH
 CH,Ch,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -1851,7 +1858,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -1960,7 +1967,7 @@ CH,Ch,cH,ch
 Ĉ,ĉ
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -2070,7 +2077,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -2161,6 +2168,116 @@ Z,z,Ź,ź,Ż,ż,Ž,ž
 ǁ
 ǂ
 ǃ
+select group_concat(c1 order by c1) from t1 group by c1 collate utf8_croatian_ci;
+group_concat(c1 order by c1)
+÷
+×
+A,a,À,Á,Â,Ã,Ä,Å,à,á,â,ã,ä,å,Ā,ā,Ă,ă,Ą,ą,,ặ
+AA,Aa,aA,aa
+AE,Ae,aE,ae
+Æ,æ,Ǣ,ǣ,Ǽ,ǽ
+B,b
+Ć,ć
+Ƈ,ƈ
+D,d,Ď,ď
+DZ,Dz,dZ,dz,DZ,Dz,dz
+DŽ,Dž,d,Ë,è,é,ê,ë,Ē,ē,Ĕ,ĕ,Ė,ė,Ę,ę,Ě,ě,Ẹ,ẹ,Ẻ,ẻ,Ẽ,ẽ,Ế,ế,Ề,ề,Ể,ể,Ễ,ễ,Ệ,ệ
+Ǝ,ǝ
+Ə
+Ɛ
+F,f
+Ƒ,ƒ
+G,g,Ĝ,ĝ,Ğ,ğ,Ġ,ġ,Ģ,ģ,Ǧ,ǧ,Ǵ,ǵ
+Ǥ,ǥ
+Ɠ
+Ɣ
+Ƣ,ƣ
+H,h,Ĥ,ĥ
+ƕ,Ƕ
+Ħ,ħ
+I,i,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ĵ,ǰ
+K,k,Ķ,ķ,Ǩ,ǩ
+Ƙ,ƙ
+L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ
+Ŀ,ŀ
+LL,Ll,lL,ll
+LJ,Lj,lJ,lj,LJ,Lj,lj
+Ł,ł
+ƚ
+ƛ
+M,m
+N,n,Ñ,ñ,Ń,ń,Ņ,ņ,Ň,ň,Ǹ,ǹ
+NJ,Nj,nJ,nj,NJ,Nj,nj
+Ɲ
+ƞ
+Ŋ,ŋ
+O,o,Ò,Ó,Ô,Õ,Ö,ò,ó,ô,õ,ö,Ō,ō,Ŏ,ŏ,Ő,ő,Ơ,ơ,Ǒ,ǒ,Ǫ,ǫ,Ǭ,ǭ,Ọ,ọ,Ỏ,ỏ,Ố,
+P,p
+Ƥ,ƥ
+Q,q
+ĸ
+R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř
+RR,Rr,rR,rr
+Ʀ
+S,s,Ś,ś,Ŝ,ŝ,Ş,ş,ſ
+SS,Ss,sS,ss,ß
+Š,š
+Ʃ
+ƪ
+T,t,Ţ,ţ,Ť,ť
+ƾ
+Ŧ,ŧ
+ƫ
+Ƭ,ƭ
+Ʈ
+U,u,Ù,+ƍ
+Ž,ž
+Ƶ,ƶ
+Ʒ,Ǯ,ǯ
+Ƹ,ƹ
+ƺ
+Þ,þ
+ƿ,Ƿ
+ƻ
+Ƨ,ƨ
+Ƽ,ƽ
+Ƅ,ƅ
+ʼn
+ǀ
+ǁ
+ǂ
+ǃ
 select group_concat(c1 order by c1) from t1 group by c1 collate utf8_german2_ci;
 group_concat(c1 order by c1)
 ÷
@@ -2177,7 +2294,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -2282,7 +2399,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ð,ð,Ď,ď,Đ,đ
-DZ,Dz,dZ,dz,DŽ,Dž,
 Ɖ
 Ɗ
 Ƌ,ƌ
@@ -2383,7 +2500,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -2493,7 +2610,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ð,ð,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -2598,7 +2715,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,,7 +2821,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Ð,ð
 Đ,đ
 Ɖ
@@ -2819,6 +2936,7 @@ CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -2933,7 +3051,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -3043,6 +3161,7 @@ CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -3151,7 +3270,7 @@ CH,Ch,cH,ch
 Ć,ć
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,D3263,6 +3382,7 @@ CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz
+DŽ,Dž,dŽ,dž
 DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
@@ -3375,7 +3495,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -3481,7 +3601,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -3590,7 +3710,7 @@ CH,Ch,cH,ch
 Ç,ç
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -3702,6 +3822,7 @@ cH
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -3810,7 +3931,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -3920,6 +4041,7 @@ cH
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,51,7 @@ cH
 Ƈ,ƈ
 D,d,Ď,ď
 DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DŽ,Dž,dŽ,dž
 Đ,đ
 Ɖ
 Ɗ
@@ -4138,7 +4261,7 @@ cH
 CH,Ch,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -4354,7 +4477,7 @@ CH,Ch,cH,ch
 Ĉ,ĉ
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -4464,7 +4587,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -4555,6 +4678,116 @@ Z,z,Ź,ź,Ż,ż,Ž,ž
 OUP BY c1 COLLATE ucs2_croatian_ci;
+GROUP_CONCAT(c1 ORDER BY c1)
+÷
+×
+A,a,À,Á,Â,Ã,Ä,Å,à,á,â,ã,ä,å,Ā,ā,Ă,ă,Ą,ą,Ǎ,ǎ,Ǟ,ǟ,Ǡ,ǡ,Ǻ,ǻ,Ạ,ạ,Ả,,Ẳ,ẳ,Ẵ,ẵ,Ặ,ặ
+AA,Aa,aA,aa
+AE,Ae,aE,ae
+Æ,æ,Ǣ,ǣ,Ǽ,ǽ
+B,b
+ƀ
+Ɓ
+Ƃ,ƃ
+C,c,Ç,ç,Ĉ,ĉ,Ċ,ċ
+CH,Ch,cH,ch
+Č,č
+Ć,ć
+Ƈ,ƈ
+D,d,Ď,ď
+DZ,Dz,dZ,dz,DZ,Dz,dz
+DŽ,Dž,dŽ,dž,DŽ,Dž,dž
+Đ,đ
+Ɖ
+Ɗ
+Ƌ,ƌ
+Ð,ð
+E,e,È,É,Ê,Ë,è,é,ê,ë,Ē,ē,Ĕ,ĕ,Ė,ė,Ę,ę,Ě,ě,Ẹ,ẹ,Ẻ,ẻ,Ẽ,ẽ,Ế,ế,Ề,ề,Ể,ể,Ễ,ễ,Ệ,ệ
+Ǝ,ǝ
+Ə
+Ɛ
+F,f
+Ƒ,ƒ
+G,g,Ĝ,ĝ,Ğ,ğ,Ġ,ġ,Ģ,ģ,Ǧ,ǧ,Ǵ,ǵ
+Ǥ,ǥ
+Ɠ
+Ɣ
+Ƣ,ƣ
+H,h,Ĥ,ĥ
+ƕ,Ƕ
+Ħ,ħ
+I,i,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ǐ,Ỉ,ỉ,Ị,ị
+IJ,Ij,iJ,ij,IJ,ij
+ı
+Ɨ
+Ɩ
+J,j,Ĵ,ĵ,ǰ
+K,k,Ķ,ķ,Ǩ,ǩ
+Ƙ,ƙ
+L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ
+Ŀ,ŀ
+LL,Ll,lL,ll
+LJ,Lj,lJ,lj,LJ,Lj,lj
+Ł,ł
+ƚ
+ƛ
+M,m
+N,n,Ñ,ñ,Ń,ń,Ņ,ņ,Ň,ň,Ǹ,ǹ
+NJ,Nj,nJ,nj,NJ,Nj,nj
+Ɲ
+ƞ
+Ŋ,ŋ
+O,o,Ò,Ó,Ô,Õ,Ö,+Ø,ø,Ǿ,ǿ
+Ɔ
+Ɵ
+P,p
+Ƥ,ƥ
+Q,q
+ĸ
+R,r,Ŕ,ŕ,Ŗ,,sS,ss,ß
+Š,š
+Ʃ
+ƪ
+T,t,Ţ,ţ,Ť,ť
+ƾ
+Ŧ,ŧ
+ƫ
+Ƭ,ƭ
+Ʈ
+U,u,Ù,Ú,Û,Ü,ù,ú,û,ü,Ũ,ũ,Ū,ū,Ŭ,ŭ,Ů,ů,Ű,ű,Ų,ų,Ư,ư,Ǔ,ǔ,Ǖ,ǖ,Ǘ,ǘ,Ǚ,ǚ,Ǜ,ǜ,
+Ʊ
+V,v
+Ʋ
+W,w,Ŵ,ŵ
+X,x
+Y,y,Ý,ý,ÿ,Ŷ,ŷ,Ÿ
+Ƴ,ƴ
+Z,z,Ź,ź,Ż,ż
+ƍ
+Ž,ž
+Ƶ,ƶ
+Ʒ,Ǯ,ǯ
+Ƹ,ƹ
++ǃ
 SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_german2_ci;
 GROUP_CONCAT(c1 ORDER BY c1)
 ÷
@@ -4571,7 +4804,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -4676,7 +4909,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Ɖ
 Ɗ
 Ƌ,ƌ
@@ -4777,7 +5010,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ
@@ -4887,7 +5120,7 @@ C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ,Č,č
 CH,Ch,cH,ch
 Ƈ,ƈ
 D,d,Ð,ð,Ď,ď
-DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
+DZ,Dz,DŽ,Dž,dZ,dz,dŽ,dž,DŽ,Dž,dž,DZ,Dz,dz
 Đ,đ
 Ɖ
 Ɗ

=== modified file 'mysql-test/r/ctype_utf16_uca.result'
--- a/mysql-test/r/ctype_utf16_uca.result	2010-07-08 10:57:38 +0000
+++ b/mysql-test/r/ctype_utf16_uca.result	2010-10-25 07:54:38 +0000
@@ -190,6 +190,7 @@ insert into t1 values ('AA'),('Aa'),('aa
 insert into t1 values ('AE'),('Ae'),('ae'),('aE');
 insert into t1 values ('CH'),('Ch'),('ch'),('cH');
 insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
+insert into t1 values ('DŽ'),('Dž'),('d('iJ');
 insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
 insert into t1 values ('LL'),('Ll'),('ll'),('lL');
@@ -213,7 +214,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -319,7 +320,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Ðð
 Đđ
 Ɖ
@@ -434,6 +435,7 @@ CHChcHch
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -658,6 +660,7 @@ CHChcHch
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -766,7 +769,7 @@ CHChcHch
 Ćć
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -878,6 +881,7 @@ CHChcHch
 Ƈƈ
 DdĎď
 DZDzdZdz
+DŽDždŽdž
 DŽDždžDZDzdz
 Đđ
 Ɖ
@@ -990,7 +994,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1096,7 +1100,7 @@ CcdžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1205,7 +1209,7 @@ CHChcHch
 Çç
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1317,6 +1321,7 @@ cH
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -1425,7 +1430,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1535,6 +1540,7 @@ cH
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -1644,6 +1650,7 @@ cH
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -1753,7 +1760,7 @@ cH
 CHChch
 Ƈƈ
 Dddz
 Đđ
 Ɖ
 Ɗ
@@ -1860,7 +1867,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1969,7 +1976,7 @@ CHChcHch
 Ĉĉ
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -2079,7 +2086,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 Dddz
 Đđ
 Ɖ
 Ɗ
@@ -2170,6 +2177,116 @@ ZzŹźŻżŽž
 ǁ
 ǂ
 ǃ
+select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_croatian_ci;
+group_concat(c1 order by binary c1 separator '')
+÷
+ẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặ
+AAAaaAaa
+AEAeaEae
+ÆæǢǣǼǽ
+Bb
+ƀ
+Ɓ
+Ƃƃ
+CcÇçĈĉĊċ
+CHChcHch
+Čč
+Ćć
+Ƈƈ
+DdĎď
+DZDzdZdzDZDzdz
+DŽDždŽdžDŽDždž
+Đđ
+Ɖ
+Ɗ
+Ƌƌ
+Ðð
+EeÈÉÊËèéêëĒēĔĕĖėĘęĚěẸẹFf
+Ƒƒ
+GgĜĝĞğĠġĢģǦǧǴǵ
+Ǥǥ
+Ɠ
+Ɣ
+Ƣƣ
+HhĤĥ
+ƕǶ
+Ħħ
+IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐỈỉỊị
+IJIjiJijIJij
+ı
+Ɨ
+Ɩ
+JjĴĵǰ
+KkLjlj
+Łł
+ƚ
+ƛ
+Mm
+NnÑñŃńŅņŇňǸǹ
+NJNjnJnjơǑǒǪǫǬǭỌọỎỏỐốỒồỔổỖỗỘộ
+Ɵ
+Pp
+Ƥƥ
+Qq
+ĸ
+RrŔŕŖŗŘř
+RRRrrRrr
+Ʀ
+SsŦŧ
+ƫ
+Ƭƭ
+Ʈ
+UuÙÚÛÜùúûüŨũŪūŬŭŮůŰþ
+ƿǷ
+ƻ
+Ƨƨ
+Ƽƽ
+Ƅƅ
+ʼn
+ǀ
+ǁ
+ǂ
+ǃ
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_german2_ci;
 group_concat(c1 order by binary c1 separator '')
 ÷
@@ -2186,7 +2303,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -2291,7 +2408,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdÐðĎďĐđ
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽD@@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Hch
 Ƈƈ
 DdÐðĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ

=== modified file 'mysql-test/r/ctype_utf32_uca.result'
--- a/mysql-test/r/ctype_utf32_uca.result	2010-07-08 10:57:38 +0000
+++ b/mysql-test/r/ctype_utf32_uca.result	2010-10-25 07:54:38 +0000
@@ -190,6 +190,7 @@ insert into t1 values ('AA'),('Aa'),('aa
 insert into t1 values ('AE'),('Ae'),('ae'),('aE');
 insert into t1 values ('CH'),('Ch'),('ch'),('cH');
 insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
+insert into t1 values ('DŽ'),('Dž'),('dž'),('dŽ');
 insert into t1 values ('IJ'),('Ij'),('ij'),('iJ');
 insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
 insert into t1 values ('LL'),('Ll'),('ll'),('lL');
@@ -213,7 +214,7 @@ CcÇçDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -319,7 +320,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Ðð
 Đđ
 Ɖ
@@ -434,6 +435,7 @@ CHChcHch
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -548,7 +550,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 ƇdžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -658,6 +660,7 @@ CHChcHch
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 ZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -878,6 +881,7 @@ CHChcHch
 Ƈƈ
 DdĎď
 DZDzdZdz
+DŽDždŽdž
 DŽDždžDZDzdz
 Đđ
 Ɖ
@@ -990,7 +994,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1096,7 +1100,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1205,7 +1209,7 @@ CHChcHch
 Çç
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1317,6 +1321,7 @@ cH
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -1425,7 +1430,7 @@ CcÇçĆćĈĉĊċČždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1535,6 +1540,7 @@ cH
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -1644,6 +1650,7 @@ cH
 Ƈƈ
 DdĎď
 DZDzdZdzDŽDždžDZDzdz
+DŽDždŽdž
 Đđ
 Ɖ
 Ɗ
@@ -1753,7 +1760,7 @@ cH
 CHChch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -1860,7 +1867,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 Dddz
 Đđ
 Ɖ
 Ɗ
@@ -1969,7 +1976,7 @@ CHChcHch
 Ĉĉ
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽ
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -2170,6 +2177,116 @@ ZzŹźŻżŽž
 ǁ
 ǂ
 ǃ
+select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_croatian_ci;
+group_concat(c1 order by binary c1 separator '')
+÷
+×
+AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻẠạẢảẤấẦầ
+AEAeaEae
+ÆæǢǣǼǽ
+Bb
+ƀ
+Ɓ
+Ƃƃ
+CcÇçĈĉĊÍÎÏìíîïĨĩĪīĬĭĮįİǏǐỈỉỊị
+IJIjiJijIJij
+ı
+Ɨ
+Ɩ
+JjĴĵǰ
+KkĶķǨǩ
+Ƙƙ
+LlĹĺĻļĽľ
+Ŀŀ
+LLLllLll
+LJLjlJljLJLjlj
+Łł
+ƚ
+ƛ
+Mm
+NnÑñŃńŅņŇňǸǹ
+NJNjnJnjNJNjnj
+Ɲ
+ƞ
+Ŋŋ
+OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭỌọỎrŔŕŖŗŘř
+RRRrrRrr
+Ʀ
+SsŚśŜŝŞşſ
+SSSssSssß
+Šš
+Ʃ
+ƪ
+TtŢţŤť
+ƾ
+Ŧŧ
+ƫ
+Ƭƭ
+Ʈ
+UuÙǛǜỤụỦủỨứỪừỬửỮữỰự
+Ɯ
+Ʊ
+Vv
+Ʋ
+WwŴŵ
+Xx
+YyÝýÿŶŷŸ
+Ƴƴ
+ZzŹźŻż
+ƍ
+Žž
+Ƶƶ
+ƷǮǯ
+Ƹƹ
+ƺ
+Þþ
+ƿǷ
+ƻ
+Ƨƨ
+Ƽƽ
+Ƅƅ
+ʼn
+ǀ
+ǁ
+ǂ
+ǃ
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_german2_ci;
 group_concat(c1 order by binary c1 separator '')
 ÷
@@ -2186,7 +2303,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đđ
 Ɖ
 Ɗ
@@ -2291,7 +2408,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdÐðĎďĐđ
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Ɖ
 Ɗ
 Ƌƌ
@@ -2392,7 +2509,7 @@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽD@@ CcÇçĆćĈĉĊċČč
 CHChcHch
 Ƈƈ
 DdÐðĎď
-DZDzdZdzDŽDždžDZDzdz
+DZDzDŽDždZdzdŽdžDŽDždžDZDzdz
 Đ'
--- a/mysql-test/t/ctype_uca.test	2010-07-08 10:57:38 +0000
+++ b/mysql-test/t/ctype_uca.test	2010-10-25 07:54:38 +0000
@@ -65,6 +65,7 @@ select group_concat(c1 order by c1) from
 select group_concat(c1 order by c1) from t1 group by c1 collate utf8_roman_ci;
 select group_concat(c1 order by c1) from t1 group by c1 collate utf8_esperanto_ci;
 select group_concat(c1 order by c1) from t1 group by c1 collate utf8_hungarian_ci;
+select group_concat(c1 order by c1) from t1 group by c1 collate utf8_croatian_ci;
 select group_concat(c1 order by c1) from t1 group by c1 collate utf8_german2_ci;
 select group_concat(c1 order by c1) from t1 group by c1 collate utf8_unicode_520_ci;
 select group_concat(c1 order by c1) from t1 group by c1 collate utf8_vietnamese_ci;
@@ -89,6 +90,7 @@ SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM
 SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_roman_ci;
 SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_esperanto_ci;
 SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_hungarian_ci;
+SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_croatian_ci;
 SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_german2_ci;
 SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_unicode_520_ci;
 SELECT GROUP_CONCAT(c1 ORDER BY c1) FROM t1 GROUP BY c1 COLLATE ucs2_vietnamese_ci;

=== modified file 'mysql-test/t/ctype_utf16_uca.test'
--- a/mysql-test/t/ctype_utf16_uca.test	2010-07-08 10:57:38 +0000
+++ b/mysql-test/t/ctype_utf16_uca.test	2010-10-25 07:54:38 +0000
@@ -52,6 +52,7 @@ select group_concat(c1 order by binary c
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_roman_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_esperanto_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_hungarian_ci;
+select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_croatian_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_german2_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_unicode_520_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_vietnamese_ci;

=== modified file 'mysql-test/t/ctype_utf32_uca.test'
--- a/mysql-test/t/ctype_utf32_uca.test	2010-07-08 10:57:38 +0000
+++ b/mysql-test/t/ctype_utf32_uca.test	2010-10-25 07:54:38 +0000
@@ -53,6 +53,7 @@ select group_concat(c1 order by binary c
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_roman_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_esperanto_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_hungarian_ci;
+select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_croatian_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_german2_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_unicode_520_ci;
 select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_vietnamese_ci;

=== modified file 'mysys/charset-def.c'
--- a/mysys/charset-def.c	2010-07-08 10:57:38 +0000
+++ b/mysys/charset-def.c	2010-10-25 07:54:38 +0000
@@ -43,6 +43,7 @@ extern CHARSET_INFO my_charset_ucs2_roma
 extern CHARSET_INFO my_charset_ucs2_persian_uca_ci;
 extern CHARSET_INFO my_charset_ucs2_esperanto_uca_ci;
 extern CHARSET_INFO my_charset_ucs2_hungarian_uca_ci;
+extern CHARSET_INFO my_charset_ucs2_croatian_uca_ci;
 extern CHARSET_INFO my_charset_ucs2_sinhala_uca_ci;
 extern CHARSET_INFO my_charset_ucs2_unicode_520_ci;
 extern CHARSET_INFO my_charset_ucs2_vietnamese_ci;
@@ -70,6 +71,7 @@ extern CHARSET_INFO my_charset_utf32_rom
 extern CHARSET_INFO my_charset_utf32_persian_uca_ci;
 extern CHARSET_INFO my_charset_utf32_esperanto_uca_ci;
 extern CHARSET_INFO my_charset_utf32_hungarian_uca_ci;
+extern CHARSET_INFO my_charset_utf32_croatian_uca_ci;
 extern CHARSET_INFO my_charset_utf32_sinhala_uca_ci;
 extern CHARSET_INFO my_charset_utf32_unicode_520_ci;
 extern CHARSET_INFO my_charset_utf32_vietnamese_ci;
@@ -97,6 +99,7 @@ extern CHARSET_INFO my_charset_utf16_rom
 extern CHARSET_INFO my_charset_utf16_persian_uca_ci;
 extern CHARSET_INFO my_charset_utf16_esperanto_uca_ci;
 extern CHARSET_INFO my_charset_utf16_hungarian_uca_ci;
+extern CHARSET_INFO my_charset_utf16_croatian_uca_ci;
 extern CHARSET_INFO my_charset_utf16_sinhala_uca_ci;
 extern CHARSET_INFO my_charset_utf16_unicode_520_ci;
 extern CHARSET_INFO my_charset_utf16_vietnamese_ci;
@@ -124,6 +127,7 @@ extern CHARSET_INFO my_charset_utf8_roma
 extern CHARSET_INFO my_charset_utf8_persian_uca_ci;
 extern CHARSET_INFO my_charset_utf8_esperanto_uca_ci;
 extern CHARSET_INFO my_charset_utf8_hungarian_uca_ci;
+extern CHARSET_INFO my_charset_utf8_croatian_uca_ci;
 extern CHARSET_INFO my_charset_utf8_sinhala_uca_ci;
 extern CHARSET_INFO my_charset_utf8_unicode_520_ci;
 extern CHARSET_INFO my_charset_utf8_vietnamese_ci;
@@ -153,6 +157,7 @@ extern CHARSET_INFO my_charset_utf8mb4_r
 extern CHARSET_INFO my_charset_utf8mb4_persian_uca_ci;
 extern CHARSET_INFO my_charset_utf8mb4_esperanto_uca_ci;
 extern CHARSET_INFO my_charset_utf8mb4_hungarian_uca_ci;
+extern CHARSET_INFO my_charset_utf8mb4_croatian_uca_ci;
 extern CHARSET_INFO my_charset_utf8mb4_sinhala_uca_ci;
 extern CHARSET_INFO my_charset_utf8mb4_unicode_520_ci;
 extern CHARSET_INFO my_charset_utf8mb4_vietnamese_ci;
@@ -244,6 +249,7 @@ my_bool init_compiled_charsets(myf flags
   add_compiled_collation(&my_charset_ucs2_persian_uca_ci);
   add_compiled_collation(&my_charset_ucs2_esperanto_uca_ci);
   add_compiled_collation(&my_charset_ucs2_hungarian_uca_ci);
+  add_compiled_collation(&my_charset_ucs2_croatian_uca_ci);
   add_compiled_collation(&my_charset_ucs2_sinhala_uca_ci);
   add_compiled_collation(&my_charset_ucs2_unicode_520_ci);
   add_compiled_collation(&my_charset_ucs2_vietnamese_ci);
@@ -283,6 +289,7 @@ my_bool init_compiled_charsets(myf flags
   add_compiled_collation(&my_charset_utf8_persian_uca_ci);
   add_compiled_collation(&my_charset_utf8_esperanto_uca_ci);
   add_compiled_collation(&my_charset_utf8_hungarian_uca_ci);
+  add_compiled_collation(&my_charset_utf8_croatian_uca_ci);
   add_compiled_collation(&my_charset_utf8_sinhala_uca_ci);
   add_compiled_collation(&my_charset_utf8_unicode_520_ci);
   add_compiled_collation(&my_charset_utf8_vietnamese_ci);
@@ -315,6 +322,7 @@ my_bool init_compiled_charsets(myf flags
   add_compiled_collation(&my_charset_utf8mb4_persian_uca_ci);
   add_compiled_collation(&my_charset_utf8mb4_esperanto_uca_ci);
   add_compiled_collation(&my_charset_utf8mb4_hungarian_uca_ci);
+  add_compiled_collation(&my_charset_utf8mb4_croatian_uca_ci);
   add_compiled_collation(&my_charset_utf8mb4_sinhala_uca_ci);
   add_compiled_collation(&my_charset_utf8mb4_unicode_520_ci);
   add_compiled_collation(&my_charset_utf8mb4_vietnamese_ci);
@@ -347,6 +355,7 @@ my_bool init_compiled_charsets(myf flags
   add_compiled_collation(&my_charset_utf16_persian_uca_ci);
   add_compiled_collation(&my_charset_utf16_esperanto_uca_ci);
   add_compiled_collation(&my_charset_utf16_hungarian_uca_ci);
+  add_compiled_collation(&my_charset_utf16_croatian_uca_ci);
   add_compiled_collation(&my_charset_utf16_sinhala_uca_ci);
   add_compiled_collation(&my_charset_utf16_unicode_520_ci);
   add_compiled_collation(&my_charset_utf16_vietnamese_ci);
@@ -379,6 +388,7 @@ my_bool init_compiled_charsets(myf flags
   add_compiled_collation(&my_charset_utf32_persian_uca_ci);
   add_compiled_collation(&my_charset_utf32_esperanto_uca_ci);
   add_compiled_collation(&my_charset_utf32_hungarian_uca_ci);
+  add_compiled_collation(&my_charset_utf32_croatian_uca_ci);
   add_compiled_collation(&my_charset_utf32_sinhala_uca_ci);
   add_compiled_collation(&my_charset_utf32_unicode_520_ci);
   add_compiled_collation(&my_charset_utf32_vietnamese_ci);

=== modified file 'strings/ctype-uca.c'
--- a/strings/ctype-uca.c	2010-07-08 10:57:38 +0000
+++ b/strings/ctype-uca.c	2010-10-25 07:54:38 +0000
@@ -19290,6 +19290,17 @@ static const char hungarian[]=
     "&O < \\u00F6 <<< \\u00D6 << \\u0151 <<< \\u0150"
     "&U < \\u00FC <<< \\u00DC << \\u0171 <<< \\u0170";
 
+
+static const char croatian[]=
+    "&C < \\u010D <<< \\u010C < \\u0107 <<< \\u0106"
+    "&D < d\\u017E = \\u01C6 <<< d\\u017D <<< D\\u017E = \\u01C5 <<< D\\u017D = \\u01C4"
+    "   < \\u0111 <<< \\u0110"
+    "&L < lj = \\u01C9  <<< lJ <<< Lj = \\u01C8 <<< LJ = \\u01C7"
+    "&N < nj = \\u01CC  <<< nJ <<< Nj = \\u01CB <<< NJ = \\u01CA"
+    "&S < \\u0161 <<< \\u0160"
+    "&Z < \\u017E <<< \\u017D";
+
+
 /*
   SCCII Part 1 : Collation Sequence (SLS1134)
   2006/11/24
@@ -19750,9 +19761,7 @@ static int my_uca_scanner_next_ucs2(my_u
         uint16 *cweight;
         my_wc_t wc2= (((my_wc_t) scanner->sbeg[0]) << 8) | scanner->sbeg[1];
         if (my_uca_can_be_contraction_tail(scanner->uca, wc2) &&
-          (cweight= my_uca_contraction2_weight(scanner->uca,
-                                               scanner->code,
-                                               scanner->sbeg[1])))
+          (cweight= my_uca_contraction2_weight(scanner->uca, wc1, wc2)))
         {
           scanner->implicit[0]= 0;
           scanner->wbeg= scanner->implicit;
@@ -20557,6 +20566,7 @@ static my_coll_lexem_num my_coll_lexem_n
     if (beg[0] == '=')
     {
       beg++;
+      lexem->diff= 0;
       rc= MY_COLL_LEXEM_DIFF;
       goto ex;
     }
@@ -20771,7 +20781,7 @@ my_coll_rule_parse(MY_COLL_RULES *rules,
         }
         else if (lexem.diff == 0)
         {
-          item.diff[0]= item.diff[1]= item.diff[2]= 0;
+          /* Do nothing for '=': use the previous offsets for all levels */
         }
         if (nitems >= mitems)
         {
@@ -21821,6 +21831,40 @@ CHARSET_INFO my_charset_ucs2_german2_uca
 };
 
 
+CHARSET_INFO my_charset_ucs2_croatian_uca_ci=
+{
+    149,0,0,             /* number       */
+    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
+    "ucs2",              /* csname    */
+    "ucs2_croatian_ci",  /* name         */
+    "",                  /* comment      */
+    croatian,            /* tailoring    */
+    NULL,                /* ctype        */
+    NULL,                /* to_lower     */
+    NULL,                /* to_upper     */
+    NULL,                /* sort_order   */
+    NULL,                /* uca          */
+    NULL,                /* tab_to_uni   */
+    NULL,                /* tab_from_uni */
+    &my_unicase_default, /* caseinfo     */
+    NULL,                /* state_map    */
+    NULL,                /* ident_map    */
+    8,                   /* strxfrm_multiply */
+    1,                   /* caseup_multiply  */
+    1,                   /* casedn_multiply  */
+    2,                   /* mbminlen     */
+    2,                   /* mbmaxlen     */
+    9,                   /* min_sort_char */
+    0xFFFF,              /* max_sort_char */
+    ' ',                 /* pad char      */
+    0,                   /* escape_with_backslash_is_dangerous */
+    1,                   /* levels_for_compare */
+    1,                   /* levels_for_order   */
+    &my_charset_ucs2_handler,
+    &my_collation_ucs2_uca_handler
+};
+
+
 CHARSET_INFO my_charset_ucs2_unicode_520_ci=
 {
     150,0,0,            /* number       */
@@ -22669,6 +22713,40 @@ CHARSET_INFO my_charset_utf8_german2_uca
 };
 
 
+CHARSET_INFO my_charset_utf8_croatian_uca_ci=
+{
+    213,0,0,             /* number       */
+    MY_CS_UTF8MB3_UCA_FLAGS,/* flags    */
+    MY_UTF8MB3,          /* cs name      */
+    MY_UTF8MB3 "_croatian_ci",/* name    */
+    "",                  /* comment      */
+    croatian,            /* tailoring    */
+    ctype_utf8,          /* ctype        */
+    NULL,                /* to_lower     */
+    NULL,                /* to_upper     */
+    NULL,                /* sort_order   */
+    NULL,                /* uca          */
+    NULL,                /* tab_to_uni   */
+    NULL,                /* tab_from_uni */
+    &my_unicase_default, /* caseinfo     */
+    NULL,                /* state_map    */
+    NULL,                /* ident_map    */
+    8,                   /* strxfrm_multiply */
+    1,                   /* caseup_multiply  */
+    1,                   /* casedn_multiply  */
+    1,                   /* mbminlen     */
+    3,                   /* mbmaxlen     */
+    9,                   /* min_sort_char */
+    0xFFFF,              /* max_sort_char */
+    ' ',                 /* pad char      */
+    0,                   /* escape_with_backslash_is_dangerous */
+    1,                   /* levels_for_compare */
+    1,                   /* levels_for_order   */
+    &my_charset_utf8_handler,
+    &my_collation_any_uca_handler
+};
+
+
 CHARSET_INFO my_charset_utf8_unicode_520_ci=
 {
     214,0,0,             /* number       */
@@ -23475,6 +23553,39 @@ CHARSET_INFO my_charset_utf8mb4_german2_
     &my_collation_any_uca_handler
 };
 
+CHARSET_INFO my_charset_utf8mb4_croatian_uca_ci=
+{
+    245,0,0,            /* number       */
+    MY_CS_UTF8MB4_UCA_FLAGS,/* state    */
+    MY_UTF8MB4,         /* csname      */
+    MY_UTF8MB4 "_croatian_ci",/* name  */
+    "",                 /* comment      */
+    croatian,           /* tailoring    */
+    ctype_utf8,         /* ctype        */
+    NULL,               /* to_lower     */
+    NULL,               /* to_upper     */
+    NULL,               /* sort_order   */
+    NULL,               /* uca          */
+    NULL,               /* tab_to_uni   */
+    NULL,               /* tab_from_uni */
+    &my_unicase_default,/* caseinfo     */
+    NULL,               /* state_map    */
+    NULL,               /* ident_map    */
+    8,                  /* strxfrm_multiply */
+    1,                  /* caseup_multiply  */
+    1,                  /* casedn_multiply  */
+    1,                  /* mbminlen      */
+    4,                  /* mbmaxlen      */
+    9,                  /* min_sort_char */
+    0xFFFF,             /* max_sort_char */
+    ' ',                /* pad char      */
+    0,                  /* escape_with_backslash_is_dangerous */
+    1,                  /* levels_for_compare */
+    1,                  /* levels_for_order   */
+    &my_charset_utf8mb4_handler,
+    &my_collation_any_uca_handler
+};
+
 CHARSET_INFO my_charset_utf8mb4_unicode_520_ci=
 {
     246,0,0,             /* number       */
@@ -24296,6 +24407,39 @@ CHARSET_INFO my_charset_utf32_german2_uc
     &my_collation_utf32_uca_handler
 };
 
+CHARSET_INFO my_charset_utf32_croatian_uca_ci=
+{
+    181,0,0,            /* number       */
+    MY_CS_UTF32_UCA_FLAGS,/* state      */
+    "utf32",            /* csname      */
+    "utf32_croatian_ci", /* name        */
+    "",                 /* comment      */
+    croatian,           /* tailoring    */
+    NULL,               /* ctype        */
+    NULL,               /* to_lower     */
+    NULL,               /* to_upper     */
+    NULL,               /* sort_order   */
+    NULL,               /* uca          */
+    NULL,               /* tab_to_uni   */
+    NULL,               /* tab_from_uni */
+    &my_unicase_default,/* caseinfo     */
+    NULL,               /* state_map    */
+    NULL,               /* ident_map    */
+    8,                  /* strxfrm_multiply */
+    1,                  /* caseup_multiply  */
+    1,                  /* casedn_multiply  */
+    4,                  /* mbminlen     */
+    4,                  /* mbmaxlen     */
+    9,                  /* min_sort_char */
+    0xFFFF,             /* max_sort_char */
+    ' ',                /* pad char      */
+    0,                  /* escape_with_backslash_is_dangerous */
+    1,                  /* levels_for_compare */
+    1,                  /* levels_for_order   */
+    &my_charset_utf32_handler,
+    &my_collation_utf32_uca_handler
+};
+
 CHARSET_INFO my_charset_utf32_unicode_520_ci=
 {
     182,0,0,             /* number       */
@@ -25119,6 +25263,40 @@ CHARSET_INFO my_charset_utf16_german2_uc
 };
 
 
+CHARSET_INFO my_charset_utf16_croatian_uca_ci=
+{
+    122,0,0,           /* number       */
+    MY_CS_UTF16_UCA_FLAGS,/* state     */
+    "utf16",           /* cs name    */
+    "utf16_croatian_ci",/* name         */
+    "",                /* comment      */
+    croatian,           /* tailoring    */
+    NULL,              /* ctype        */
+    NULL,              /* to_lower     */
+    NULL,              /* to_upper     */
+    NULL,              /* sort_order   */
+    NULL,              /* uca          */
+    NULL,              /* tab_to_uni   */
+    NULL,              /* tab_from_uni */
+    &my_unicase_default,/* caseinfo    */
+    NULL,              /* state_map    */
+    NULL,              /* ident_map    */
+    8,                 /* strxfrm_multiply */
+    1,                 /* caseup_multiply  */
+    1,                 /* casedn_multiply  */
+    2,                 /* mbminlen     */
+    4,                 /* mbmaxlen     */
+    9,                 /* min_sort_char */
+    0xFFFF,            /* max_sort_char */
+    ' ',               /* pad char      */
+    0,                 /* escape_with_backslash_is_dangerous */
+    1,                 /* levels_for_compare */
+    1,                 /* levels_for_order   */
+    &my_charset_utf16_handler,
+    &my_collation_utf16_uca_handler
+};
+
+
 CHARSET_INFO my_charset_utf16_unicode_520_ci=
 {
     123,0,0,             /* number       */

Attachment: [text/bzr-bundle] bzr/bar@mysql.com-20101025075438-l3kwwgzniwh874jr.bundle
Thread
bzr commit into mysql-next-mr branch (bar:3193) WL#5476Alexander Barkov25 Oct