diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2023-02-28 13:14:08 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2023-02-28 13:14:08 +0200 |
commit | 7a834d6248f42bd2207152071d31e9ecfc5de422 (patch) | |
tree | 583f7edea179b674adcebf7e5e507d9c1c733597 /include | |
parent | 50c8e65b38b279496ca1f9a9f9029429d98e07e5 (diff) | |
parent | 95d51369c9b1d5b759be630003ab12e9615ea0cc (diff) | |
download | mariadb-git-7a834d6248f42bd2207152071d31e9ecfc5de422.tar.gz |
Merge 10.11 into 11.0
Diffstat (limited to 'include')
-rw-r--r-- | include/m_ctype.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/include/m_ctype.h b/include/m_ctype.h index 0b1cd2e0fb3..554a7de8e56 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -80,10 +80,26 @@ typedef const struct my_charset_handler_st MY_CHARSET_HANDLER; typedef const struct my_collation_handler_st MY_COLLATION_HANDLER; typedef const struct unicase_info_st MY_UNICASE_INFO; +typedef const struct casefold_info_st MY_CASEFOLD_INFO; typedef const struct uni_ctype_st MY_UNI_CTYPE; typedef const struct my_uni_idx_st MY_UNI_IDX; typedef uint16 decimal_digits_t; + +typedef struct casefold_info_char_t +{ + uint32 toupper; + uint32 tolower; +} MY_CASEFOLD_CHARACTER; + + +struct casefold_info_st +{ + my_wc_t maxchar; + MY_CASEFOLD_CHARACTER **page; +}; + + typedef struct unicase_info_char_st { uint32 toupper; @@ -720,6 +736,9 @@ struct my_charset_handler_st */ my_charset_conv_wc_mb native_to_mb; my_charset_conv_wc_mb wc_to_printable; + + uint (*caseup_multiply)(CHARSET_INFO *cs); + uint (*casedn_multiply)(CHARSET_INFO *cs); }; extern MY_CHARSET_HANDLER my_charset_8bit_handler; @@ -752,12 +771,11 @@ struct charset_info_st MY_UCA_INFO *uca; const uint16 *tab_to_uni; MY_UNI_IDX *tab_from_uni; + MY_CASEFOLD_INFO *casefold; MY_UNICASE_INFO *caseinfo; const uchar *state_map; const uchar *ident_map; uint strxfrm_multiply; - uchar caseup_multiply; - uchar casedn_multiply; uint mbminlen; uint mbmaxlen; /* @@ -827,6 +845,16 @@ struct charset_info_st return (cset->casedn)(this, src, srclen, dst, dstlen); } + uint caseup_multiply() const + { + return (cset->caseup_multiply)(this); + } + + uint casedn_multiply() const + { + return (cset->casedn_multiply)(this); + } + size_t long10_to_str(char *dst, size_t dstlen, int radix, long int val) const { |