1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-4928 Merge collation customization improvements

Merging the following MySQL-5.6 changes:
- WL#5624: Collation customization improvements
  http://dev.mysql.com/worklog/task/?id=5624

- WL#4013: Unicode german2 collation
  http://dev.mysql.com/worklog/task/?id=4013

- Bug#62429 XML: ExtractValue, UpdateXML max arg length 127 chars
  http://bugs.mysql.com/bug.php?id=62429
  (required by WL#5624)
This commit is contained in:
Alexander Barkov
2013-10-02 15:04:07 +04:00
parent 9538bbfce9
commit 0b6c4bb34f
42 changed files with 5823 additions and 1715 deletions

View File

@ -65988,7 +65988,7 @@ my_wc_mb_euc_jp(CHARSET_INFO *cs __attribute__((unused)),
/* Case info pages for JIS-X-0208 range */
static MY_UNICASE_INFO cA2[256]=
static MY_UNICASE_CHARACTER cA2[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66109,7 +66109,7 @@ static MY_UNICASE_INFO cA2[256]=
};
static MY_UNICASE_INFO cA3[256]=
static MY_UNICASE_CHARACTER cA3[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66230,7 +66230,7 @@ static MY_UNICASE_INFO cA3[256]=
};
static MY_UNICASE_INFO cA6[256]=
static MY_UNICASE_CHARACTER cA6[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66351,7 +66351,7 @@ static MY_UNICASE_INFO cA6[256]=
};
static MY_UNICASE_INFO cA7[256]=
static MY_UNICASE_CHARACTER cA7[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66473,7 +66473,7 @@ static MY_UNICASE_INFO cA7[256]=
/* Case info pages for JIS-X-0212 range */
static MY_UNICASE_INFO c8FA6[]=
static MY_UNICASE_CHARACTER c8FA6[]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66594,7 +66594,7 @@ static MY_UNICASE_INFO c8FA6[]=
};
static MY_UNICASE_INFO c8FA7[]=
static MY_UNICASE_CHARACTER c8FA7[]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66715,7 +66715,7 @@ static MY_UNICASE_INFO c8FA7[]=
};
static MY_UNICASE_INFO c8FA9[]=
static MY_UNICASE_CHARACTER c8FA9[]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66836,7 +66836,7 @@ static MY_UNICASE_INFO c8FA9[]=
};
static MY_UNICASE_INFO c8FAA[]=
static MY_UNICASE_CHARACTER c8FAA[]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -66957,7 +66957,7 @@ static MY_UNICASE_INFO c8FAA[]=
};
static MY_UNICASE_INFO c8FAB[]=
static MY_UNICASE_CHARACTER c8FAB[]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
@ -67078,7 +67078,7 @@ static MY_UNICASE_INFO c8FAB[]=
};
static MY_UNICASE_INFO *my_caseinfo_ujis[512]=
static MY_UNICASE_CHARACTER *my_caseinfo_pages_ujis[512]=
{
/* JIS-X-0208 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
@ -67148,6 +67148,15 @@ static MY_UNICASE_INFO *my_caseinfo_ujis[512]=
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
};
static MY_UNICASE_INFO my_caseinfo_ujis=
{
0x0FFFF,
my_caseinfo_pages_ujis
};
#endif /* HAVE_CHARSET_ujis */
@ -67158,11 +67167,11 @@ static MY_UNICASE_INFO *my_caseinfo_ujis[512]=
UJIS and EUCJPMS share the same UPPER/LOWER functions.
*/
static MY_UNICASE_INFO*
static MY_UNICASE_CHARACTER*
get_case_info_for_ch(CHARSET_INFO *cs, uint plane, uint page, uint offs)
{
MY_UNICASE_INFO *p;
return (p= cs->caseinfo[page + plane * 256]) ? &p[offs & 0xFF] : NULL;
MY_UNICASE_CHARACTER *p;
return (p= cs->caseinfo->page[page + plane * 256]) ? &p[offs & 0xFF] : NULL;
}
@ -67183,7 +67192,7 @@ my_casefold_ujis(CHARSET_INFO *cs,
size_t mblen= my_ismbchar(cs, src, srcend);
if (mblen)
{
MY_UNICASE_INFO *ch;
MY_UNICASE_CHARACTER *ch;
ch= (mblen == 2) ?
get_case_info_for_ch(cs, 0, (uchar) src[0], (uchar) src[1]) :
get_case_info_for_ch(cs, 1, (uchar) src[1], (uchar) src[2]);
@ -67304,11 +67313,10 @@ struct charset_info_st my_charset_ujis_japanese_ci=
to_lower_ujis,
to_upper_ujis,
sort_order_ujis,
NULL, /* sort_order_big*/
NULL, /* contractions */
NULL, /* uca */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_caseinfo_ujis, /* caseinfo */
&my_caseinfo_ujis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@ -67337,11 +67345,10 @@ struct charset_info_st my_charset_ujis_bin=
to_lower_ujis,
to_upper_ujis,
NULL, /* sort_order */
NULL, /* contractions */
NULL, /* sort_order_big*/
NULL, /* uca */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_caseinfo_ujis, /* caseinfo */
&my_caseinfo_ujis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */