mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
Adding Roman (classical Latin) collation.
This commit is contained in:
parent
d54157f0d8
commit
aa679b62c0
4 changed files with 169 additions and 0 deletions
|
@ -1655,3 +1655,109 @@ Z,z,Ź,ź,Ż,ż,Ž,ž
|
||||||
ǁ
|
ǁ
|
||||||
ǂ
|
ǂ
|
||||||
ǃ
|
ǃ
|
||||||
|
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_roman_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,J,i,j,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ǐ
|
||||||
|
IJ,Ij,iJ,ij
|
||||||
|
IJ,ij
|
||||||
|
ı
|
||||||
|
Ɨ
|
||||||
|
Ɩ
|
||||||
|
Ĵ,ĵ,ǰ
|
||||||
|
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,V,u,v,Ù,Ú,Û,Ü,ù,ú,û,ü,Ũ,ũ,Ū,ū,Ŭ,ŭ,Ů,ů,Ű,ű,Ų,ų,Ư,ư,Ǔ,ǔ,Ǖ,ǖ,Ǘ,ǘ,Ǚ,ǚ,Ǜ,ǜ
|
||||||
|
Ɯ
|
||||||
|
Ʊ
|
||||||
|
Ʋ
|
||||||
|
W,w,Ŵ,ŵ
|
||||||
|
X,x
|
||||||
|
Y,y,Ý,ý,ÿ,Ŷ,ŷ,Ÿ
|
||||||
|
Ƴ,ƴ
|
||||||
|
Z,z,Ź,ź,Ż,ż,Ž,ž
|
||||||
|
ƍ
|
||||||
|
Ƶ,ƶ
|
||||||
|
Ʒ,Ǯ,ǯ
|
||||||
|
Ƹ,ƹ
|
||||||
|
ƺ
|
||||||
|
Þ,þ
|
||||||
|
ƿ,Ƿ
|
||||||
|
ƻ
|
||||||
|
Ƨ,ƨ
|
||||||
|
Ƽ,ƽ
|
||||||
|
Ƅ,ƅ
|
||||||
|
ʼn
|
||||||
|
ǀ
|
||||||
|
ǁ
|
||||||
|
ǂ
|
||||||
|
ǃ
|
||||||
|
|
|
@ -178,4 +178,5 @@ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_danish_ci;
|
||||||
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_lithuanian_ci;
|
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_lithuanian_ci;
|
||||||
--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_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;
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ extern CHARSET_INFO my_charset_ucs2_danish_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_ucs2_lithuanian_uca_ci;
|
extern CHARSET_INFO my_charset_ucs2_lithuanian_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_ucs2_slovak_uca_ci;
|
extern CHARSET_INFO my_charset_ucs2_slovak_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_ucs2_spanish2_uca_ci;
|
extern CHARSET_INFO my_charset_ucs2_spanish2_uca_ci;
|
||||||
|
extern CHARSET_INFO my_charset_ucs2_roman_uca_ci;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CHARSET_utf8
|
#ifdef HAVE_CHARSET_utf8
|
||||||
|
@ -56,6 +57,7 @@ extern CHARSET_INFO my_charset_utf8_danish_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_utf8_lithuanian_uca_ci;
|
extern CHARSET_INFO my_charset_utf8_lithuanian_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_utf8_slovak_uca_ci;
|
extern CHARSET_INFO my_charset_utf8_slovak_uca_ci;
|
||||||
extern CHARSET_INFO my_charset_utf8_spanish2_uca_ci;
|
extern CHARSET_INFO my_charset_utf8_spanish2_uca_ci;
|
||||||
|
extern CHARSET_INFO my_charset_utf8_roman_uca_ci;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
my_bool init_compiled_charsets(myf flags __attribute__((unused)))
|
my_bool init_compiled_charsets(myf flags __attribute__((unused)))
|
||||||
|
@ -124,6 +126,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
|
||||||
add_compiled_collation(&my_charset_ucs2_lithuanian_uca_ci);
|
add_compiled_collation(&my_charset_ucs2_lithuanian_uca_ci);
|
||||||
add_compiled_collation(&my_charset_ucs2_slovak_uca_ci);
|
add_compiled_collation(&my_charset_ucs2_slovak_uca_ci);
|
||||||
add_compiled_collation(&my_charset_ucs2_spanish2_uca_ci);
|
add_compiled_collation(&my_charset_ucs2_spanish2_uca_ci);
|
||||||
|
add_compiled_collation(&my_charset_ucs2_roman_uca_ci);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CHARSET_ujis
|
#ifdef HAVE_CHARSET_ujis
|
||||||
|
@ -149,6 +152,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
|
||||||
add_compiled_collation(&my_charset_utf8_lithuanian_uca_ci);
|
add_compiled_collation(&my_charset_utf8_lithuanian_uca_ci);
|
||||||
add_compiled_collation(&my_charset_utf8_slovak_uca_ci);
|
add_compiled_collation(&my_charset_utf8_slovak_uca_ci);
|
||||||
add_compiled_collation(&my_charset_utf8_spanish2_uca_ci);
|
add_compiled_collation(&my_charset_utf8_spanish2_uca_ci);
|
||||||
|
add_compiled_collation(&my_charset_utf8_roman_uca_ci);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Copy compiled charsets */
|
/* Copy compiled charsets */
|
||||||
|
|
|
@ -6653,6 +6653,9 @@ static const char spanish2[]= /* Also good for Asturian and Galician */
|
||||||
"&N < \\u00F1 <<< \\u00D1"
|
"&N < \\u00F1 <<< \\u00D1"
|
||||||
"&R << rr <<< Rr <<< RR";
|
"&R << rr <<< Rr <<< RR";
|
||||||
|
|
||||||
|
static const char roman[]= /* i.e. Classical Latin */
|
||||||
|
"& I << j <<< J "
|
||||||
|
"& U << v <<< V ";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Unicode Collation Algorithm:
|
Unicode Collation Algorithm:
|
||||||
|
@ -8328,6 +8331,34 @@ CHARSET_INFO my_charset_ucs2_spanish2_uca_ci=
|
||||||
&my_collation_ucs2_uca_handler
|
&my_collation_ucs2_uca_handler
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
CHARSET_INFO my_charset_ucs2_roman_uca_ci=
|
||||||
|
{
|
||||||
|
143,0,0, /* number */
|
||||||
|
MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
|
||||||
|
"ucs2", /* cs name */
|
||||||
|
"ucs2_roman_ci", /* name */
|
||||||
|
"", /* comment */
|
||||||
|
roman, /* 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 */
|
||||||
|
NULL, /* state_map */
|
||||||
|
NULL, /* ident_map */
|
||||||
|
8, /* strxfrm_multiply */
|
||||||
|
2, /* mbminlen */
|
||||||
|
2, /* mbmaxlen */
|
||||||
|
9, /* min_sort_char */
|
||||||
|
0xFFFF, /* max_sort_char */
|
||||||
|
&my_charset_ucs2_handler,
|
||||||
|
&my_collation_ucs2_uca_handler
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -8779,4 +8810,31 @@ CHARSET_INFO my_charset_utf8_spanish2_uca_ci=
|
||||||
&my_charset_utf8_handler,
|
&my_charset_utf8_handler,
|
||||||
&my_collation_any_uca_handler
|
&my_collation_any_uca_handler
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CHARSET_INFO my_charset_utf8_roman_uca_ci=
|
||||||
|
{
|
||||||
|
207,0,0, /* number */
|
||||||
|
MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
|
||||||
|
"utf8", /* cs name */
|
||||||
|
"utf8_roman_ci", /* name */
|
||||||
|
"", /* comment */
|
||||||
|
roman, /* 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 */
|
||||||
|
NULL, /* state_map */
|
||||||
|
NULL, /* ident_map */
|
||||||
|
8, /* strxfrm_multiply */
|
||||||
|
1, /* mbminlen */
|
||||||
|
2, /* mbmaxlen */
|
||||||
|
9, /* min_sort_char */
|
||||||
|
0xFFFF, /* max_sort_char */
|
||||||
|
&my_charset_utf8_handler,
|
||||||
|
&my_collation_any_uca_handler
|
||||||
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue