Loading config/ac-macros/character_sets.m4 +2 −2 Original line number Diff line number Diff line Loading @@ -343,7 +343,7 @@ case $default_charset in default_charset_default_collation="ucs2_general_ci" define(UCSC1, ucs2_general_ci ucs2_bin) define(UCSC2, ucs2_czech_ci ucs2_danish_ci) define(UCSC3, ucs2_estonian_ci ucs2_icelandic_ci) define(UCSC3, ucs2_esperanto_ci ucs2_estonian_ci ucs2_icelandic_ci) define(UCSC4, ucs2_latvian_ci ucs2_lithuanian_ci) define(UCSC5, ucs2_persian_ci ucs2_polish_ci ucs2_romanian_ci) define(UCSC6, ucs2_slovak_ci ucs2_slovenian_ci) Loading @@ -367,7 +367,7 @@ case $default_charset in else define(UTFC1, utf8_general_ci utf8_bin) define(UTFC2, utf8_czech_ci utf8_danish_ci) define(UTFC3, utf8_estonian_ci utf8_icelandic_ci) define(UTFC3, utf8_esperanto_ci utf8_estonian_ci utf8_icelandic_ci) define(UTFC4, utf8_latvian_ci utf8_lithuanian_ci) define(UTFC5, utf8_persian_ci utf8_polish_ci utf8_romanian_ci) define(UTFC6, utf8_slovak_ci utf8_slovenian_ci) Loading mysql-test/r/ctype_uca.result +110 −0 Original line number Diff line number Diff line Loading @@ -1905,6 +1905,116 @@ Z,z,Ź,ź,Ż,ż,Ž,ž ǁ ǂ ǃ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_esperanto_ci; group_concat(c1 order by c1) ÷ × A,a,À,Á,Â,Ã,Ä,Å,à,á,â,ã,ä,å,Ā,ā,Ă,ă,Ą,ą,Ǎ,ǎ,Ǟ,ǟ,Ǡ,ǡ,Ǻ,ǻ AA,Aa,aA,aa Æ,æ,Ǣ,ǣ,Ǽ,ǽ B,b ƀ Ɓ Ƃ,ƃ C,c,Ç,ç,Ć,ć,Ċ,ċ,Č,č CH,Ch,cH,ch Ĉ,ĉ Ƈ,ƈ D,d,Ď,ď DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz Đ,đ Ɖ Ɗ Ƌ,ƌ Ð,ð E,e,È,É,Ê,Ë,è,é,ê,ë,Ē,ē,Ĕ,ĕ,Ė,ė,Ę,ę,Ě,ě Ǝ,ǝ Ə Ɛ F,f Ƒ,ƒ G,g,Ğ,ğ,Ġ,ġ,Ģ,ģ,Ǧ,ǧ,Ǵ,ǵ Ĝ,ĝ Ǥ,ǥ Ɠ Ɣ Ƣ,ƣ H,h Ĥ,ĥ ƕ,Ƕ Ħ,ħ I,i,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ǐ IJ,Ij,iJ,ij,IJ,ij ı Ɨ Ɩ J,j,ǰ Ĵ,ĵ K,k,Ķ,ķ,Ǩ,ǩ Ƙ,ƙ L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ Ŀ,ŀ LJ,Lj,lJ,lj,LJ,Lj,lj LL,Ll,lL,ll Ł,ł ƚ ƛ M,m N,n,Ñ,ñ,Ń,ń,Ņ,ņ,Ň,ň,Ǹ,ǹ NJ,Nj,nJ,nj,NJ,Nj,nj Ɲ ƞ Ŋ,ŋ O,o,Ò,Ó,Ô,Õ,Ö,ò,ó,ô,õ,ö,Ō,ō,Ŏ,ŏ,Ő,ő,Ơ,ơ,Ǒ,ǒ,Ǫ,ǫ,Ǭ,ǭ OE,Oe,oE,oe,Œ,œ Ø,ø,Ǿ,ǿ Ɔ Ɵ P,p Ƥ,ƥ Q,q ĸ R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř RR,Rr,rR,rr Ʀ S,s,Ś,ś,Ş,ş,Š,š,ſ SS,Ss,sS,ss,ß Ŝ,ŝ Ʃ ƪ T,t,Ţ,ţ,Ť,ť ƾ Ŧ,ŧ ƫ Ƭ,ƭ Ʈ U,u,Ù,Ú,Û,Ü,ù,ú,û,ü,Ũ,ũ,Ū,ū,Ů,ů,Ű,ű,Ų,ų,Ư,ư,Ǔ,ǔ,Ǖ,ǖ,Ǘ,ǘ,Ǚ,ǚ,Ǜ,ǜ Ŭ,ŭ Ɯ Ʊ V,v Ʋ W,w,Ŵ,ŵ X,x Y,y,Ý,ý,ÿ,Ŷ,ŷ,Ÿ Ƴ,ƴ Z,z,Ź,ź,Ż,ż,Ž,ž ƍ Ƶ,ƶ Ʒ,Ǯ,ǯ Ƹ,ƹ ƺ Þ,þ ƿ,Ƿ ƻ Ƨ,ƨ Ƽ,ƽ Ƅ,ƅ ʼn ǀ ǁ ǂ ǃ drop table t1; SET NAMES utf8; CREATE TABLE t1 (c varchar(255) NOT NULL COLLATE utf8_general_ci, INDEX (c)); Loading mysql-test/t/ctype_uca.test +1 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,7 @@ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_lithuanian_ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_slovak_ci; select group_concat(c1 order by c1) from t1 group by c1 collate utf8_spanish2_ci; 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; drop table t1; Loading mysys/charset-def.c +4 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ extern CHARSET_INFO my_charset_ucs2_slovak_uca_ci; extern CHARSET_INFO my_charset_ucs2_spanish2_uca_ci; extern CHARSET_INFO my_charset_ucs2_roman_uca_ci; extern CHARSET_INFO my_charset_ucs2_persian_uca_ci; extern CHARSET_INFO my_charset_ucs2_esperanto_uca_ci; #endif #ifdef HAVE_CHARSET_utf8 Loading @@ -62,6 +63,7 @@ extern CHARSET_INFO my_charset_utf8_slovak_uca_ci; extern CHARSET_INFO my_charset_utf8_spanish2_uca_ci; extern CHARSET_INFO my_charset_utf8_roman_uca_ci; extern CHARSET_INFO my_charset_utf8_persian_uca_ci; extern CHARSET_INFO my_charset_utf8_esperanto_uca_ci; #ifdef HAVE_UTF8_GENERAL_CS extern CHARSET_INFO my_charset_utf8_general_cs; #endif Loading Loading @@ -148,6 +150,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused))) add_compiled_collation(&my_charset_ucs2_spanish2_uca_ci); add_compiled_collation(&my_charset_ucs2_roman_uca_ci); add_compiled_collation(&my_charset_ucs2_persian_uca_ci); add_compiled_collation(&my_charset_ucs2_esperanto_uca_ci); #endif #endif Loading Loading @@ -180,6 +183,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused))) add_compiled_collation(&my_charset_utf8_spanish2_uca_ci); add_compiled_collation(&my_charset_utf8_roman_uca_ci); add_compiled_collation(&my_charset_utf8_persian_uca_ci); add_compiled_collation(&my_charset_utf8_esperanto_uca_ci); #endif #endif Loading strings/ctype-uca.c +75 −0 Original line number Diff line number Diff line Loading @@ -6692,6 +6692,18 @@ static const char persian[]= " < \\uFEF5 < \\uFEF6 < \\uFEF7 < \\uFEF8 < \\uFEF9 < \\uFEFA" " < \\uFEFB < \\uFEFC"; /* Esperanto tailoring. Contributed by Bertilo Wennergren <bertilow at gmail dot com> September 1, 2005 */ static const char esperanto[]= "& C < \\u0109 <<< \\u0108" "& G < \\u011D <<< \\u011C" "& H < \\u0125 <<< \\u0124" "& J < \\u0135 <<< \\u0134" "& S < \\u015d <<< \\u015c" "& U < \\u016d <<< \\u016c"; /* Unicode Collation Algorithm: Loading Loading @@ -8564,6 +8576,38 @@ CHARSET_INFO my_charset_ucs2_persian_uca_ci= }; CHARSET_INFO my_charset_ucs2_esperanto_uca_ci= { 145,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE, "ucs2", /* cs name */ "ucs2_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ NULL, /* ctype */ NULL, /* to_lower */ NULL, /* to_upper */ NULL, /* sort_order */ NULL, /* contractions */ NULL, /* sort_order_big*/ 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 */ 0, /* escape_with_backslash_is_dangerous */ &my_charset_ucs2_handler, &my_collation_ucs2_uca_handler }; #endif Loading Loading @@ -9140,6 +9184,37 @@ CHARSET_INFO my_charset_utf8_persian_uca_ci= &my_collation_any_uca_handler }; CHARSET_INFO my_charset_utf8_esperanto_uca_ci= { 209,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE, "utf8", /* cs name */ "utf8_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ ctype_utf8, /* ctype */ NULL, /* to_lower */ NULL, /* to_upper */ NULL, /* sort_order */ NULL, /* contractions */ NULL, /* sort_order_big*/ 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 */ 0, /* escape_with_backslash_is_dangerous */ &my_charset_utf8_handler, &my_collation_any_uca_handler }; #endif /* HAVE_CHARSET_utf8 */ #endif /* HAVE_UCA_COLLATIONS */ Loading
config/ac-macros/character_sets.m4 +2 −2 Original line number Diff line number Diff line Loading @@ -343,7 +343,7 @@ case $default_charset in default_charset_default_collation="ucs2_general_ci" define(UCSC1, ucs2_general_ci ucs2_bin) define(UCSC2, ucs2_czech_ci ucs2_danish_ci) define(UCSC3, ucs2_estonian_ci ucs2_icelandic_ci) define(UCSC3, ucs2_esperanto_ci ucs2_estonian_ci ucs2_icelandic_ci) define(UCSC4, ucs2_latvian_ci ucs2_lithuanian_ci) define(UCSC5, ucs2_persian_ci ucs2_polish_ci ucs2_romanian_ci) define(UCSC6, ucs2_slovak_ci ucs2_slovenian_ci) Loading @@ -367,7 +367,7 @@ case $default_charset in else define(UTFC1, utf8_general_ci utf8_bin) define(UTFC2, utf8_czech_ci utf8_danish_ci) define(UTFC3, utf8_estonian_ci utf8_icelandic_ci) define(UTFC3, utf8_esperanto_ci utf8_estonian_ci utf8_icelandic_ci) define(UTFC4, utf8_latvian_ci utf8_lithuanian_ci) define(UTFC5, utf8_persian_ci utf8_polish_ci utf8_romanian_ci) define(UTFC6, utf8_slovak_ci utf8_slovenian_ci) Loading
mysql-test/r/ctype_uca.result +110 −0 Original line number Diff line number Diff line Loading @@ -1905,6 +1905,116 @@ Z,z,Ź,ź,Ż,ż,Ž,ž ǁ ǂ ǃ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_esperanto_ci; group_concat(c1 order by c1) ÷ × A,a,À,Á,Â,Ã,Ä,Å,à,á,â,ã,ä,å,Ā,ā,Ă,ă,Ą,ą,Ǎ,ǎ,Ǟ,ǟ,Ǡ,ǡ,Ǻ,ǻ AA,Aa,aA,aa Æ,æ,Ǣ,ǣ,Ǽ,ǽ B,b ƀ Ɓ Ƃ,ƃ C,c,Ç,ç,Ć,ć,Ċ,ċ,Č,č CH,Ch,cH,ch Ĉ,ĉ Ƈ,ƈ D,d,Ď,ď DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz Đ,đ Ɖ Ɗ Ƌ,ƌ Ð,ð E,e,È,É,Ê,Ë,è,é,ê,ë,Ē,ē,Ĕ,ĕ,Ė,ė,Ę,ę,Ě,ě Ǝ,ǝ Ə Ɛ F,f Ƒ,ƒ G,g,Ğ,ğ,Ġ,ġ,Ģ,ģ,Ǧ,ǧ,Ǵ,ǵ Ĝ,ĝ Ǥ,ǥ Ɠ Ɣ Ƣ,ƣ H,h Ĥ,ĥ ƕ,Ƕ Ħ,ħ I,i,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ǐ IJ,Ij,iJ,ij,IJ,ij ı Ɨ Ɩ J,j,ǰ Ĵ,ĵ K,k,Ķ,ķ,Ǩ,ǩ Ƙ,ƙ L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ Ŀ,ŀ LJ,Lj,lJ,lj,LJ,Lj,lj LL,Ll,lL,ll Ł,ł ƚ ƛ M,m N,n,Ñ,ñ,Ń,ń,Ņ,ņ,Ň,ň,Ǹ,ǹ NJ,Nj,nJ,nj,NJ,Nj,nj Ɲ ƞ Ŋ,ŋ O,o,Ò,Ó,Ô,Õ,Ö,ò,ó,ô,õ,ö,Ō,ō,Ŏ,ŏ,Ő,ő,Ơ,ơ,Ǒ,ǒ,Ǫ,ǫ,Ǭ,ǭ OE,Oe,oE,oe,Œ,œ Ø,ø,Ǿ,ǿ Ɔ Ɵ P,p Ƥ,ƥ Q,q ĸ R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř RR,Rr,rR,rr Ʀ S,s,Ś,ś,Ş,ş,Š,š,ſ SS,Ss,sS,ss,ß Ŝ,ŝ Ʃ ƪ T,t,Ţ,ţ,Ť,ť ƾ Ŧ,ŧ ƫ Ƭ,ƭ Ʈ U,u,Ù,Ú,Û,Ü,ù,ú,û,ü,Ũ,ũ,Ū,ū,Ů,ů,Ű,ű,Ų,ų,Ư,ư,Ǔ,ǔ,Ǖ,ǖ,Ǘ,ǘ,Ǚ,ǚ,Ǜ,ǜ Ŭ,ŭ Ɯ Ʊ V,v Ʋ W,w,Ŵ,ŵ X,x Y,y,Ý,ý,ÿ,Ŷ,ŷ,Ÿ Ƴ,ƴ Z,z,Ź,ź,Ż,ż,Ž,ž ƍ Ƶ,ƶ Ʒ,Ǯ,ǯ Ƹ,ƹ ƺ Þ,þ ƿ,Ƿ ƻ Ƨ,ƨ Ƽ,ƽ Ƅ,ƅ ʼn ǀ ǁ ǂ ǃ drop table t1; SET NAMES utf8; CREATE TABLE t1 (c varchar(255) NOT NULL COLLATE utf8_general_ci, INDEX (c)); Loading
mysql-test/t/ctype_uca.test +1 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,7 @@ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_lithuanian_ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_slovak_ci; select group_concat(c1 order by c1) from t1 group by c1 collate utf8_spanish2_ci; 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; drop table t1; Loading
mysys/charset-def.c +4 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ extern CHARSET_INFO my_charset_ucs2_slovak_uca_ci; extern CHARSET_INFO my_charset_ucs2_spanish2_uca_ci; extern CHARSET_INFO my_charset_ucs2_roman_uca_ci; extern CHARSET_INFO my_charset_ucs2_persian_uca_ci; extern CHARSET_INFO my_charset_ucs2_esperanto_uca_ci; #endif #ifdef HAVE_CHARSET_utf8 Loading @@ -62,6 +63,7 @@ extern CHARSET_INFO my_charset_utf8_slovak_uca_ci; extern CHARSET_INFO my_charset_utf8_spanish2_uca_ci; extern CHARSET_INFO my_charset_utf8_roman_uca_ci; extern CHARSET_INFO my_charset_utf8_persian_uca_ci; extern CHARSET_INFO my_charset_utf8_esperanto_uca_ci; #ifdef HAVE_UTF8_GENERAL_CS extern CHARSET_INFO my_charset_utf8_general_cs; #endif Loading Loading @@ -148,6 +150,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused))) add_compiled_collation(&my_charset_ucs2_spanish2_uca_ci); add_compiled_collation(&my_charset_ucs2_roman_uca_ci); add_compiled_collation(&my_charset_ucs2_persian_uca_ci); add_compiled_collation(&my_charset_ucs2_esperanto_uca_ci); #endif #endif Loading Loading @@ -180,6 +183,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused))) add_compiled_collation(&my_charset_utf8_spanish2_uca_ci); add_compiled_collation(&my_charset_utf8_roman_uca_ci); add_compiled_collation(&my_charset_utf8_persian_uca_ci); add_compiled_collation(&my_charset_utf8_esperanto_uca_ci); #endif #endif Loading
strings/ctype-uca.c +75 −0 Original line number Diff line number Diff line Loading @@ -6692,6 +6692,18 @@ static const char persian[]= " < \\uFEF5 < \\uFEF6 < \\uFEF7 < \\uFEF8 < \\uFEF9 < \\uFEFA" " < \\uFEFB < \\uFEFC"; /* Esperanto tailoring. Contributed by Bertilo Wennergren <bertilow at gmail dot com> September 1, 2005 */ static const char esperanto[]= "& C < \\u0109 <<< \\u0108" "& G < \\u011D <<< \\u011C" "& H < \\u0125 <<< \\u0124" "& J < \\u0135 <<< \\u0134" "& S < \\u015d <<< \\u015c" "& U < \\u016d <<< \\u016c"; /* Unicode Collation Algorithm: Loading Loading @@ -8564,6 +8576,38 @@ CHARSET_INFO my_charset_ucs2_persian_uca_ci= }; CHARSET_INFO my_charset_ucs2_esperanto_uca_ci= { 145,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE, "ucs2", /* cs name */ "ucs2_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ NULL, /* ctype */ NULL, /* to_lower */ NULL, /* to_upper */ NULL, /* sort_order */ NULL, /* contractions */ NULL, /* sort_order_big*/ 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 */ 0, /* escape_with_backslash_is_dangerous */ &my_charset_ucs2_handler, &my_collation_ucs2_uca_handler }; #endif Loading Loading @@ -9140,6 +9184,37 @@ CHARSET_INFO my_charset_utf8_persian_uca_ci= &my_collation_any_uca_handler }; CHARSET_INFO my_charset_utf8_esperanto_uca_ci= { 209,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE, "utf8", /* cs name */ "utf8_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ ctype_utf8, /* ctype */ NULL, /* to_lower */ NULL, /* to_upper */ NULL, /* sort_order */ NULL, /* contractions */ NULL, /* sort_order_big*/ 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 */ 0, /* escape_with_backslash_is_dangerous */ &my_charset_utf8_handler, &my_collation_any_uca_handler }; #endif /* HAVE_CHARSET_utf8 */ #endif /* HAVE_UCA_COLLATIONS */