mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
ctype_uca.result, ctype_uca.test:
Adding test case. charset-def.c: Initialize new collation. ctype-uca.c: Adding simplified Hungarian collation. strings/ctype-uca.c: Adding simplified Hungarian collation. mysys/charset-def.c: Initialize new collation. mysql-test/t/ctype_uca.test: Adding test case. mysql-test/r/ctype_uca.result: Adding test case.
This commit is contained in:
@ -2015,6 +2015,112 @@ Z,z,Ź,ź,Ż,ż,Ž,ž
|
|||||||
ǁ
|
ǁ
|
||||||
ǂ
|
ǂ
|
||||||
ǃ
|
ǃ
|
||||||
|
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_hungarian_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;
|
drop table t1;
|
||||||
SET NAMES utf8;
|
SET NAMES utf8;
|
||||||
CREATE TABLE t1 (c varchar(255) NOT NULL COLLATE utf8_general_ci, INDEX (c));
|
CREATE TABLE t1 (c varchar(255) NOT NULL COLLATE utf8_general_ci, INDEX (c));
|
||||||
|
@ -212,6 +212,7 @@ 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_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_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_esperanto_ci;
|
||||||
|
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_hungarian_ci;
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
@ -43,6 +43,7 @@ extern CHARSET_INFO my_charset_ucs2_spanish2_uca_ci;
|
|||||||
extern CHARSET_INFO my_charset_ucs2_roman_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_persian_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_ucs2_esperanto_uca_ci;
|
extern CHARSET_INFO my_charset_ucs2_esperanto_uca_ci;
|
||||||
|
extern CHARSET_INFO my_charset_ucs2_hungarian_uca_ci;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CHARSET_utf8
|
#ifdef HAVE_CHARSET_utf8
|
||||||
@ -64,6 +65,7 @@ extern CHARSET_INFO my_charset_utf8_spanish2_uca_ci;
|
|||||||
extern CHARSET_INFO my_charset_utf8_roman_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_persian_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_utf8_esperanto_uca_ci;
|
extern CHARSET_INFO my_charset_utf8_esperanto_uca_ci;
|
||||||
|
extern CHARSET_INFO my_charset_utf8_hungarian_uca_ci;
|
||||||
#ifdef HAVE_UTF8_GENERAL_CS
|
#ifdef HAVE_UTF8_GENERAL_CS
|
||||||
extern CHARSET_INFO my_charset_utf8_general_cs;
|
extern CHARSET_INFO my_charset_utf8_general_cs;
|
||||||
#endif
|
#endif
|
||||||
@ -151,6 +153,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
|
|||||||
add_compiled_collation(&my_charset_ucs2_roman_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_persian_uca_ci);
|
||||||
add_compiled_collation(&my_charset_ucs2_esperanto_uca_ci);
|
add_compiled_collation(&my_charset_ucs2_esperanto_uca_ci);
|
||||||
|
add_compiled_collation(&my_charset_ucs2_hungarian_uca_ci);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -184,6 +187,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
|
|||||||
add_compiled_collation(&my_charset_utf8_roman_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_persian_uca_ci);
|
||||||
add_compiled_collation(&my_charset_utf8_esperanto_uca_ci);
|
add_compiled_collation(&my_charset_utf8_esperanto_uca_ci);
|
||||||
|
add_compiled_collation(&my_charset_utf8_hungarian_uca_ci);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -6705,6 +6705,14 @@ static const char esperanto[]=
|
|||||||
"& S < \\u015d <<< \\u015c"
|
"& S < \\u015d <<< \\u015c"
|
||||||
"& U < \\u016d <<< \\u016c";
|
"& U < \\u016d <<< \\u016c";
|
||||||
|
|
||||||
|
/*
|
||||||
|
A simplified version of Hungarian, without consonant contractions.
|
||||||
|
*/
|
||||||
|
static const char hungarian[]=
|
||||||
|
"&O < \\u00F6 <<< \\u00D6 << \\u0151 <<< \\u0150"
|
||||||
|
"&U < \\u00FC <<< \\u00DC << \\u0171 <<< \\u0170";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Unicode Collation Algorithm:
|
Unicode Collation Algorithm:
|
||||||
Collation element (weight) scanner,
|
Collation element (weight) scanner,
|
||||||
@ -8627,6 +8635,39 @@ CHARSET_INFO my_charset_ucs2_esperanto_uca_ci=
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
CHARSET_INFO my_charset_ucs2_hungarian_uca_ci=
|
||||||
|
{
|
||||||
|
146,0,0, /* number */
|
||||||
|
MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
|
||||||
|
"ucs2", /* cs name */
|
||||||
|
"ucs2_hungarian_ci",/* name */
|
||||||
|
"", /* comment */
|
||||||
|
hungarian, /* 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 */
|
||||||
|
' ', /* pad char */
|
||||||
|
0, /* escape_with_backslash_is_dangerous */
|
||||||
|
&my_charset_ucs2_handler,
|
||||||
|
&my_collation_ucs2_uca_handler
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -9252,6 +9293,38 @@ CHARSET_INFO my_charset_utf8_esperanto_uca_ci=
|
|||||||
&my_collation_any_uca_handler
|
&my_collation_any_uca_handler
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CHARSET_INFO my_charset_utf8_hungarian_uca_ci=
|
||||||
|
{
|
||||||
|
210,0,0, /* number */
|
||||||
|
MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
|
||||||
|
"utf8", /* cs name */
|
||||||
|
"utf8_hungarian_ci",/* name */
|
||||||
|
"", /* comment */
|
||||||
|
hungarian, /* 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 */
|
||||||
|
' ', /* pad char */
|
||||||
|
0, /* escape_with_backslash_is_dangerous */
|
||||||
|
&my_charset_utf8_handler,
|
||||||
|
&my_collation_any_uca_handler
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* HAVE_CHARSET_utf8 */
|
#endif /* HAVE_CHARSET_utf8 */
|
||||||
|
|
||||||
#endif /* HAVE_UCA_COLLATIONS */
|
#endif /* HAVE_UCA_COLLATIONS */
|
||||||
|
Reference in New Issue
Block a user