24#ifndef STRINGS_M_CTYPE_INTERNALS_H_
25#define STRINGS_M_CTYPE_INTERNALS_H_
55 size_t dstlen,
unsigned nweights,
56 const uint8_t *src,
size_t srclen,
60 const uint8_t *,
size_t,
bool);
63 const uint8_t *,
size_t);
66 size_t len, uint64_t *nr1, uint64_t *nr2);
72 size_t b_length,
const char *s,
size_t s_length,
79 char *dst,
size_t dstlen);
81 char *dst,
size_t dstlen);
100 MY_ATTRIBUTE((format(printf, 4, 5)));
103 const
char **e,
int *
err);
105 int base, const
char **endptr,
int *
err);
107 int base, const
char **endptr,
int *
err);
109 size_t l,
int base, const
char **endptr,
112 const
char **e,
int *
err);
114 int radix,
long int val);
116 int radix,
long long val);
119 const
char **endptr,
int *
error);
121 char **endptr,
int *
error);
125 int unsigned_fl, const
char **endptr,
129 int unsigned_fl,
char **endptr,
136 size_t ptr_length,
char escape,
char w_one,
137 char w_many,
size_t res_length,
char *min_str,
138 char *max_str,
size_t *min_length,
143 size_t ptr_length,
char escape,
char w_one,
char w_many,
144 size_t res_length,
char *min_str,
char *max_str,
145 size_t *min_length,
size_t *max_length);
149 size_t ptr_length,
char escape,
char w_one,
150 char w_many,
size_t res_length,
char *min_str,
151 char *max_str,
size_t *min_length,
155 const
char *wildstr, const
char *wildend,
int escape,
156 int w_one,
int w_many);
159 const
char *wildstr, const
char *wildend,
int escape,
160 int w_one,
int w_many);
167 const
char *e,
size_t pos,
int *
error);
174 char *dst,
size_t dstlen);
176 char *dst,
size_t dstlen);
178 size_t srclen,
char *dst,
size_t dstlen);
180 size_t srclen,
char *dst,
size_t dstlen);
182 char *dst,
size_t dstlen);
184 char *dst,
size_t dstlen);
188 const
char *wildstr, const
char *wildend,
int escape,
189 int w_one,
int w_many);
195 size_t pos,
int *
error);
197 const
char *s,
size_t s_length,
my_match_t *match);
200 const uint8_t *t,
size_t tlen,
bool t_is_prefix);
203 size_t a_length, const uint8_t *b,
size_t b_length);
208 uint64_t *nr1, uint64_t *nr2);
211 unsigned nweights, const uint8_t *src,
size_t srclen,
215 unsigned nweights, const uint8_t *src,
size_t srclen,
219 size_t dstlen,
unsigned nweights,
220 const uint8_t *src,
size_t srclen,
225 const
char *str_end, const
char *wildstr,
226 const
char *wildend,
int escape,
int w_one,
int w_many,
239 uint8_t *
strend,
unsigned nweights,
unsigned flags);
static Mysys_charset_loader * loader
Definition: charset.cc:185
User-specified callback interface for collation parser/initializer.
Definition: m_ctype.h:189
static int flags[50]
Definition: hp_test1.cc:40
A better implementation of the UNIX ctype(3) library.
unsigned long my_wc_t
Our own version of wchar_t, ie., a type that holds a single Unicode code point ("wide character").
Definition: m_ctype.h:57
size_t my_caseup_mb_varlen(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-mb.cc:183
bool my_parse_charset_xml(MY_CHARSET_LOADER *loader, const char *buf, size_t buflen, MY_CHARSET_ERRMSG *errmsg)
Definition: ctype.cc:748
void my_hash_sort_mb_bin(const CHARSET_INFO *, const uint8_t *key, size_t len, uint64_t *nr1, uint64_t *nr2)
Definition: ctype-mb.cc:550
int my_strcasecmp_8bit(const CHARSET_INFO *cs, const char *, const char *)
Definition: ctype-simple.cc:241
size_t my_casedn_str_mb(const CHARSET_INFO *, char *)
Definition: ctype-mb.cc:58
constexpr int MY_CS_SORT_ORDER_TABLE_SIZE
Definition: m_ctype_internals.h:32
size_t my_charpos_mb3(const CHARSET_INFO *, const char *b, const char *e, size_t pos)
Definition: ctype-mb.cc:326
size_t my_well_formed_len_mb(const CHARSET_INFO *, const char *b, const char *e, size_t pos, int *error)
Definition: ctype-mb.cc:338
unsigned my_mbcharlen_8bit(const CHARSET_INFO *, unsigned c)
Definition: ctype-bin.cc:224
double my_strntod_8bit(const CHARSET_INFO *, const char *s, size_t l, const char **e, int *err)
Definition: ctype-simple.cc:636
MY_COLLATION_HANDLER my_collation_ucs2_uca_handler
Definition: ctype-uca.cc:5233
unsigned long long my_strntoull10rnd_ucs2(const CHARSET_INFO *cs, const char *str, size_t length, int unsigned_fl, char **endptr, int *error)
size_t my_numchars_8bit(const CHARSET_INFO *, const char *b, const char *e)
Definition: ctype-simple.cc:903
MY_UNICASE_INFO my_unicase_unicode520
Definition: ctype-utf8.cc:4785
int my_strcasecmp_mb_bin(const CHARSET_INFO *, const char *s, const char *t)
Definition: ctype-mb.cc:545
size_t my_snprintf_8bit(const CHARSET_INFO *, char *to, size_t n, const char *fmt,...)
Definition: ctype-simple.cc:278
size_t my_strnxfrmlen_simple(const CHARSET_INFO *, size_t)
Definition: ctype-simple.cc:62
size_t my_strnxfrmlen_unicode_full_bin(const CHARSET_INFO *, size_t)
Definition: ctype-utf8.cc:5172
size_t my_caseup_str_8bit(const CHARSET_INFO *, char *)
Definition: ctype-simple.cc:207
MY_COLLATION_HANDLER my_collation_mb_bin_handler
Definition: ctype-mb.cc:1325
long long my_strtoll10_8bit(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-simple.cc:1116
size_t my_well_formed_len_8bit(const CHARSET_INFO *, const char *b, const char *e, size_t pos, int *error)
Definition: ctype-simple.cc:919
constexpr int MY_CS_TO_UNI_TABLE_SIZE
Definition: m_ctype_internals.h:33
MY_CHARSET_HANDLER my_charset_ascii_handler
Definition: ctype-simple.cc:1538
MY_UNICASE_INFO my_unicase_turkish
Definition: ctype-utf8.cc:1877
bool my_like_range_simple(const CHARSET_INFO *cs, const char *ptr, size_t ptr_length, char escape, char w_one, char w_many, size_t res_length, char *min_str, char *max_str, size_t *min_length, size_t *max_length)
Definition: ctype-simple.cc:833
size_t my_longlong10_to_str_8bit(const CHARSET_INFO *, char *to, size_t l, int radix, long long val)
Definition: ctype-simple.cc:686
size_t my_caseup_mb(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-mb.cc:85
void my_fill_8bit(const CHARSET_INFO *cs, char *to, size_t l, int fill)
Definition: ctype-simple.cc:898
size_t my_casedn_mb(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-mb.cc:112
MY_COLLATION_HANDLER my_collation_8bit_simple_ci_handler
Definition: ctype-simple.cc:1567
size_t my_strnxfrm_mb(const CHARSET_INFO *, uint8_t *dst, size_t dstlen, unsigned nweights, const uint8_t *src, size_t srclen, unsigned flags)
Definition: ctype-mb.cc:486
MY_COLLATION_HANDLER my_collation_8bit_bin_handler
Definition: ctype-bin.cc:443
int my_mb_ctype_8bit(const CHARSET_INFO *, int *, const uint8_t *, const uint8_t *)
Definition: ctype-simple.cc:1121
MY_UNICASE_INFO my_unicase_mysql500
Definition: ctype-utf8.cc:1703
size_t my_strnxfrm_unicode_full_bin(const CHARSET_INFO *, uint8_t *dst, size_t dstlen, unsigned nweights, const uint8_t *src, size_t srclen, unsigned flags)
size_t my_casedn_8bit(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-simple.cc:231
constexpr int MY_CS_TO_LOWER_TABLE_SIZE
Definition: m_ctype_internals.h:30
bool my_instr_simple(const CHARSET_INFO *, const char *b, size_t b_length, const char *s, size_t s_length, my_match_t *match)
Definition: ctype-simple.cc:934
long long my_strtoll10_ucs2(const CHARSET_INFO *cs, const char *nptr, char **endptr, int *error)
size_t my_caseup_str_mb(const CHARSET_INFO *, char *)
Definition: ctype-mb.cc:41
long long my_strntoll_8bit(const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
Definition: ctype-simple.cc:461
constexpr int MY_CS_TO_UPPER_TABLE_SIZE
Definition: m_ctype_internals.h:31
bool my_instr_mb(const CHARSET_INFO *, const char *b, size_t b_length, const char *s, size_t s_length, my_match_t *match)
Definition: ctype-mb.cc:357
bool my_propagate_simple(const CHARSET_INFO *cs, const uint8_t *str, size_t len)
Definition: ctype-simple.cc:1465
size_t my_caseup_8bit(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-simple.cc:221
bool my_propagate_complex(const CHARSET_INFO *cs, const uint8_t *str, size_t len)
Definition: ctype-simple.cc:1471
constexpr my_wc_t MY_CS_REPLACEMENT_CHARACTER
Definition: m_ctype_internals.h:35
size_t my_numchars_mb(const CHARSET_INFO *, const char *b, const char *e)
Definition: ctype-mb.cc:315
bool my_charset_is_ascii_compatible(const CHARSET_INFO *cs)
Definition: ctype.cc:826
long my_strntol_8bit(const CHARSET_INFO *, const char *s, size_t l, int base, const char **e, int *err)
Definition: ctype-simple.cc:311
size_t my_lengthsp_8bit(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-simple.cc:927
bool my_charset_is_8bit_pure_ascii(const CHARSET_INFO *cs)
Definition: ctype.cc:812
int my_wildcmp_bin(const CHARSET_INFO *, const char *str, const char *str_end, const char *wildstr, const char *wildend, int escape, int w_one, int w_many)
Definition: ctype-bin.cc:365
void my_hash_sort_simple(const CHARSET_INFO *cs, const uint8_t *key, size_t len, uint64_t *nr1, uint64_t *nr2)
Definition: ctype-simple.cc:288
unsigned long long my_strntoull_8bit(const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
Definition: ctype-simple.cc:539
int my_wildcmp_mb(const CHARSET_INFO *, const char *str, const char *str_end, const char *wildstr, const char *wildend, int escape, int w_one, int w_many)
Definition: ctype-mb.cc:308
size_t my_casedn_mb_varlen(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-mb.cc:176
int my_wildcmp_8bit(const CHARSET_INFO *, const char *str, const char *str_end, const char *wildstr, const char *wildend, int escape, int w_one, int w_many)
Definition: ctype-simple.cc:809
MY_UNICASE_INFO my_unicase_default
Definition: ctype-utf8.cc:1657
MY_CHARSET_HANDLER my_charset_8bit_handler
Definition: ctype-simple.cc:1510
int my_wildcmp_unicode(const CHARSET_INFO *cs, const char *str, const char *str_end, const char *wildstr, const char *wildend, int escape, int w_one, int w_many, const MY_UNICASE_INFO *weights)
Definition: ctype-utf8.cc:4928
size_t my_numcells_8bit(const CHARSET_INFO *, const char *b, const char *e)
Definition: ctype-simple.cc:908
size_t my_long10_to_str_8bit(const CHARSET_INFO *, char *to, size_t l, int radix, long int val)
Definition: ctype-simple.cc:650
int my_strnncollsp_simple(const CHARSET_INFO *, const uint8_t *, size_t, const uint8_t *, size_t)
Definition: ctype-simple.cc:175
constexpr int MY_CS_CTYPE_TABLE_SIZE
Definition: m_ctype_internals.h:29
bool my_like_range_generic(const CHARSET_INFO *cs, const char *ptr, size_t ptr_length, char escape, char w_one, char w_many, size_t res_length, char *min_str, char *max_str, size_t *min_length, size_t *max_length)
Calculate min_str and max_str that ranges a LIKE string.
Definition: ctype-mb.cc:796
size_t my_strnxfrm_simple(const CHARSET_INFO *, uint8_t *dst, size_t dstlen, unsigned nweights, const uint8_t *src, size_t srclen, unsigned flags)
Definition: ctype-simple.cc:105
MY_UNI_CTYPE my_uni_ctype[256]
Definition: my_uctype.cc:935
size_t my_charpos_8bit(const CHARSET_INFO *, const char *b, const char *e, size_t pos)
Definition: ctype-simple.cc:913
int my_strcasecmp_mb(const CHARSET_INFO *cs, const char *, const char *)
Definition: ctype-mb.cc:194
int my_strnncollsp_mb_bin(const CHARSET_INFO *cs, const uint8_t *a, size_t a_length, const uint8_t *b, size_t b_length)
Definition: ctype-mb.cc:425
size_t my_casedn_str_8bit(const CHARSET_INFO *, char *)
Definition: ctype-simple.cc:214
size_t my_strnxfrm_unicode(const CHARSET_INFO *, uint8_t *dst, size_t dstlen, unsigned nweights, const uint8_t *src, size_t srclen, unsigned flags)
unsigned long my_strntoul_8bit(const CHARSET_INFO *, const char *nptr, size_t l, int base, const char **endptr, int *err)
Definition: ctype-simple.cc:389
bool my_like_range_mb(const CHARSET_INFO *cs, const char *ptr, size_t ptr_length, char escape, char w_one, char w_many, size_t res_length, char *min_str, char *max_str, size_t *min_length, size_t *max_length)
Definition: ctype-mb.cc:647
int my_mb_wc_8bit(const CHARSET_INFO *cs, my_wc_t *wc, const uint8_t *s, const uint8_t *e)
Definition: ctype-simple.cc:248
MY_CHARSET_HANDLER my_charset_ucs2_handler
Definition: ctype-ucs2.cc:2893
int my_strnncoll_mb_bin(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
Definition: ctype-mb.cc:395
int my_mb_ctype_mb(const CHARSET_INFO *, int *, const uint8_t *, const uint8_t *)
Definition: ctype-mb.cc:1312
size_t my_scan_8bit(const CHARSET_INFO *cs, const char *b, const char *e, int sq)
Definition: ctype-simple.cc:876
unsigned long long my_strntoull10rnd_8bit(const CHARSET_INFO *cs, const char *str, size_t length, int unsigned_fl, const char **endptr, int *error)
Definition: ctype-simple.cc:1212
int my_strnncoll_simple(const CHARSET_INFO *, const uint8_t *, size_t, const uint8_t *, size_t, bool)
Definition: ctype-simple.cc:133
size_t my_casedn_ujis(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ujis.cc:35769
size_t my_numcells_mb(const CHARSET_INFO *, const char *b, const char *e)
Definition: ctype-mb.cc:1280
int my_wc_mb_8bit(const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *e)
Definition: ctype-simple.cc:256
size_t my_caseup_ujis(const CHARSET_INFO *, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ujis.cc:35779
size_t my_strxfrm_pad(const CHARSET_INFO *cs, uint8_t *str, uint8_t *frmend, uint8_t *strend, unsigned nweights, unsigned flags)
Definition: ctype-simple.cc:1493
static const char * strend(const char *s)
Definition: m_string.h:69
void error(const char *format,...)
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1081
Definition: buf0block_hint.cc:30
Definition: commit_order_queue.h:34
static std::string escape(const std::string &str)
Escapes (only) apostrophes.
Definition: st_units_of_measure.cc:39
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
static Value err()
Create a Value object that represents an error condition.
Definition: json_binary.cc:927
required string key
Definition: replication_asynchronous_connection_failover.proto:60
Definition: m_ctype.h:421
Helper structure to return error messages from collation parser/initializer.
Definition: m_ctype.h:180
Definition: m_ctype.h:340
Definition: m_ctype.h:246
Definition: m_ctype.h:170
int n
Definition: xcom_base.cc:509