MySQL 8.3.0
Source Code Documentation
m_ctype.h File Reference

A better implementation of the UNIX ctype(3) library. More...

#include <sys/types.h>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <deque>
#include "mysql/attribute.h"
#include "mysql/my_loglevel.h"
#include "mysql/strings/api.h"
#include "template_utils.h"

Go to the source code of this file.

Classes

struct  MY_UNICASE_CHARACTER
 
struct  MY_UNICASE_INFO
 
struct  MY_UNI_CTYPE
 
struct  MY_UNI_IDX
 
struct  my_match_t
 
struct  MY_CHARSET_ERRMSG
 Helper structure to return error messages from collation parser/initializer. More...
 
class  MY_CHARSET_LOADER
 User-specified callback interface for collation parser/initializer. More...
 
struct  MY_COLLATION_HANDLER
 
struct  MY_CHARSET_HANDLER
 
struct  CHARSET_INFO
 

Typedefs

typedef int myf
 
typedef unsigned long my_wc_t
 Our own version of wchar_t, ie., a type that holds a single Unicode code point ("wide character"). More...
 
typedef int(* my_charset_conv_mb_wc) (const CHARSET_INFO *, my_wc_t *, const uint8_t *, const uint8_t *)
 
typedef int(* my_charset_conv_wc_mb) (const CHARSET_INFO *, my_wc_t, uint8_t *, uint8_t *)
 
typedef size_t(* my_charset_conv_case) (const CHARSET_INFO *, char *, size_t, char *, size_t)
 

Enumerations

enum  Pad_attribute { PAD_SPACE , NO_PAD }
 

Functions

static void MY_PUT_MB2 (unsigned char *s, uint16_t code)
 
MYSQL_STRINGS_EXPORT int my_wildcmp_mb_bin (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)
 
MYSQL_STRINGS_EXPORT size_t my_strcspn (const CHARSET_INFO *cs, const char *str, const char *end, const char *reject, size_t reject_length)
 Calculate the length of the initial segment of 'str' which consists entirely of characters not in 'reject'. More...
 
MYSQL_STRINGS_EXPORT unsigned my_string_repertoire (const CHARSET_INFO *cs, const char *str, size_t len)
 
MYSQL_STRINGS_EXPORT bool my_charset_is_ascii_based (const CHARSET_INFO *cs)
 Detect whether a character set is ASCII compatible. More...
 
bool my_charset_same (const CHARSET_INFO *cs1, const CHARSET_INFO *cs2)
 
MYSQL_STRINGS_EXPORT unsigned my_charset_repertoire (const CHARSET_INFO *cs)
 
MYSQL_STRINGS_EXPORT unsigned my_strxfrm_flag_normalize (unsigned flags)
 
MYSQL_STRINGS_EXPORT size_t my_convert (char *to, size_t to_length, const CHARSET_INFO *to_cs, const char *from, size_t from_length, const CHARSET_INFO *from_cs, unsigned *errors)
 Convert a string between two character sets. More...
 
MYSQL_STRINGS_EXPORT unsigned my_mbcharlen_ptr (const CHARSET_INFO *cs, const char *s, const char *e)
 Get the length of the first code in given sequence of chars. More...
 
MYSQL_STRINGS_EXPORT bool my_is_prefixidx_cand (const CHARSET_INFO *cs, const char *wildstr, const char *wildend, int escape, int w_many, size_t *prefix_len)
 Identify whether given like pattern looks like a prefix pattern, which can become candidate for index only scan on prefix indexes. More...
 
bool my_isascii (char ch)
 
char my_toupper (const CHARSET_INFO *cs, char ch)
 
char my_tolower (const CHARSET_INFO *cs, char ch)
 
bool my_isalpha (const CHARSET_INFO *cs, char ch)
 
bool my_isupper (const CHARSET_INFO *cs, char ch)
 
bool my_islower (const CHARSET_INFO *cs, char ch)
 
bool my_isdigit (const CHARSET_INFO *cs, char ch)
 
bool my_isxdigit (const CHARSET_INFO *cs, char ch)
 
bool my_isalnum (const CHARSET_INFO *cs, char ch)
 
bool my_isspace (const CHARSET_INFO *cs, char ch)
 
bool my_ispunct (const CHARSET_INFO *cs, char ch)
 
bool my_isgraph (const CHARSET_INFO *cs, char ch)
 
bool my_iscntrl (const CHARSET_INFO *cs, char ch)
 
bool my_isvar (const CHARSET_INFO *cs, char ch)
 
bool my_isvar_start (const CHARSET_INFO *cs, char ch)
 
bool my_binary_compare (const CHARSET_INFO *cs)
 
bool use_strnxfrm (const CHARSET_INFO *cs)
 
size_t my_strnxfrm (const CHARSET_INFO *cs, uint8_t *dst, size_t dstlen, const uint8_t *src, size_t srclen)
 
int my_strnncoll (const CHARSET_INFO *cs, const uint8_t *a, size_t a_length, const uint8_t *b, size_t b_length)
 
bool my_like_range (const CHARSET_INFO *cs, const char *s, size_t s_length, char w_prefix, char w_one, char w_many, size_t res_length, char *min_str, char *max_str, size_t *min_len, size_t *max_len)
 
int my_wildcmp (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)
 
int my_strcasecmp (const CHARSET_INFO *cs, const char *s1, const char *s2)
 
size_t my_charpos (const CHARSET_INFO *cs, const char *beg, const char *end, size_t pos)
 
size_t my_charpos (const CHARSET_INFO *cs, const unsigned char *beg, const unsigned char *end, size_t pos)
 
bool use_mb (const CHARSET_INFO *cs)
 
unsigned my_ismbchar (const CHARSET_INFO *cs, const char *str, const char *strend)
 
unsigned my_ismbchar (const CHARSET_INFO *cs, const uint8_t *str, const uint8_t *strend)
 
unsigned my_mbcharlen (const CHARSET_INFO *cs, unsigned first_byte)
 
unsigned my_mbcharlen_2 (const CHARSET_INFO *cs, uint8_t first_byte, uint8_t second_byte)
 Get the length of gb18030 code by the given two leading bytes. More...
 
unsigned my_mbmaxlenlen (const CHARSET_INFO *cs)
 Get the maximum length of leading bytes needed to determine the length of a multi-byte gb18030 code. More...
 
bool my_ismb1st (const CHARSET_INFO *cs, unsigned leading_byte)
 Judge if the given byte is a possible leading byte for a charset. More...
 
size_t my_caseup_str (const CHARSET_INFO *cs, char *str)
 
size_t my_casedn_str (const CHARSET_INFO *cs, char *str)
 
long my_strntol (const CHARSET_INFO *cs, const char *str, size_t length, int base, const char **end, int *err)
 
unsigned long my_strntoul (const CHARSET_INFO *cs, const char *str, size_t length, int base, const char **end, int *err)
 
int64_t my_strntoll (const CHARSET_INFO *cs, const char *str, size_t length, int base, const char **end, int *err)
 
uint64_t my_strntoull (const CHARSET_INFO *cs, const char *str, size_t length, int base, const char **end, int *err)
 
double my_strntod (const CHARSET_INFO *cs, const char *str, size_t length, const char **end, int *err)
 
bool is_supported_parser_charset (const CHARSET_INFO *cs)
 

Variables

constexpr int MY_CS_NAME_SIZE = 32
 
constexpr const char * CHARSET_DIR = "charsets/"
 
static constexpr int MY_CS_ILSEQ = 0
 
static constexpr int MY_CS_ILUNI = 0
 
static constexpr int MY_CS_TOOSMALL = -101
 
static constexpr int MY_CS_TOOSMALL2 = -102
 
static constexpr int MY_CS_TOOSMALL3 = -103
 
static constexpr int MY_CS_TOOSMALL4 = -104
 
static constexpr int MY_CS_TOOSMALL5 = -105
 
static constexpr int MY_CS_TOOSMALL6 = -106
 
static constexpr int MY_SEQ_INTTAIL = 1
 
static constexpr int MY_SEQ_SPACES = 2
 
static constexpr uint32_t MY_CHARSET_UNDEFINED = 0
 
static constexpr uint32_t MY_CS_COMPILED = 1 << 0
 
static constexpr uint32_t MY_CS_CONFIG_UNUSED = 1 << 1
 
static constexpr uint32_t MY_CS_INDEX_UNUSED = 1 << 2
 
static constexpr uint32_t MY_CS_LOADED = 1 << 3
 
static constexpr uint32_t MY_CS_BINSORT = 1 << 4
 
static constexpr uint32_t MY_CS_PRIMARY = 1 << 5
 
static constexpr uint32_t MY_CS_STRNXFRM = 1 << 6
 
static constexpr uint32_t MY_CS_UNICODE = 1 << 7
 
static constexpr uint32_t MY_CS_READY = 1 << 8
 
static constexpr uint32_t MY_CS_AVAILABLE = 1 << 9
 
static constexpr uint32_t MY_CS_CSSORT = 1 << 10
 
static constexpr uint32_t MY_CS_HIDDEN = 1 << 11
 
static constexpr uint32_t MY_CS_PUREASCII = 1 << 12
 
static constexpr uint32_t MY_CS_NONASCII = 1 << 13
 
static constexpr uint32_t MY_CS_UNICODE_SUPPLEMENT = 1 << 14
 
static constexpr uint32_t MY_CS_LOWER_SORT = 1 << 15
 
static constexpr uint32_t MY_CS_INLINE = 1 << 16
 
static constexpr uint32_t MY_REPERTOIRE_ASCII = 1
 
static constexpr uint32_t MY_REPERTOIRE_EXTENDED = 2
 
static constexpr uint32_t MY_REPERTOIRE_UNICODE30 = 3
 
static constexpr uint32_t MY_STRXFRM_PAD_TO_MAXLEN = 0x00000080
 
MYSQL_STRINGS_EXPORT int(* my_string_stack_guard )(int)
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_bin
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_latin1
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_filename
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_0900_ai_ci
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_0900_bin
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_latin1_bin
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf32_unicode_ci
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_general_ci
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_tolower_ci
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_unicode_ci
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_bin
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_bin
 
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_general_ci
 
static constexpr uint8_t MY_CHAR_U = 01
 
static constexpr uint8_t MY_CHAR_L = 02
 
static constexpr uint8_t MY_CHAR_NMR = 04
 
static constexpr uint8_t MY_CHAR_SPC = 010
 
static constexpr uint8_t MY_CHAR_PNT = 020
 
static constexpr uint8_t MY_CHAR_CTR = 040
 
static constexpr uint8_t MY_CHAR_B = 0100
 
static constexpr uint8_t MY_CHAR_X = 0200
 

Detailed Description

A better implementation of the UNIX ctype(3) library.

Typedef Documentation

◆ my_charset_conv_case

typedef size_t(* my_charset_conv_case) (const CHARSET_INFO *, char *, size_t, char *, size_t)

◆ my_charset_conv_mb_wc

typedef int(* my_charset_conv_mb_wc) (const CHARSET_INFO *, my_wc_t *, const uint8_t *, const uint8_t *)

◆ my_charset_conv_wc_mb

typedef int(* my_charset_conv_wc_mb) (const CHARSET_INFO *, my_wc_t, uint8_t *, uint8_t *)

◆ my_wc_t

typedef unsigned long my_wc_t

Our own version of wchar_t, ie., a type that holds a single Unicode code point ("wide character").

unsigned long is always big enough to hold any character in the BMP.

◆ myf

typedef int myf

Enumeration Type Documentation

◆ Pad_attribute

Enumerator
PAD_SPACE 
NO_PAD 

Function Documentation

◆ is_supported_parser_charset()

bool is_supported_parser_charset ( const CHARSET_INFO cs)
inline

◆ my_binary_compare()

bool my_binary_compare ( const CHARSET_INFO cs)
inline

◆ my_casedn_str()

size_t my_casedn_str ( const CHARSET_INFO cs,
char *  str 
)
inline

◆ my_caseup_str()

size_t my_caseup_str ( const CHARSET_INFO cs,
char *  str 
)
inline

◆ my_charpos() [1/2]

size_t my_charpos ( const CHARSET_INFO cs,
const char *  beg,
const char *  end,
size_t  pos 
)
inline

◆ my_charpos() [2/2]

size_t my_charpos ( const CHARSET_INFO cs,
const unsigned char *  beg,
const unsigned char *  end,
size_t  pos 
)
inline

◆ my_charset_is_ascii_based()

bool my_charset_is_ascii_based ( const CHARSET_INFO cs)
inline

Detect whether a character set is ASCII compatible.

◆ my_charset_repertoire()

MYSQL_STRINGS_EXPORT unsigned my_charset_repertoire ( const CHARSET_INFO cs)

◆ my_charset_same()

bool my_charset_same ( const CHARSET_INFO cs1,
const CHARSET_INFO cs2 
)
inline

◆ my_convert()

MYSQL_STRINGS_EXPORT size_t my_convert ( char *  to,
size_t  to_length,
const CHARSET_INFO to_cs,
const char *  from,
size_t  from_length,
const CHARSET_INFO from_cs,
unsigned *  errors 
)

Convert a string between two character sets.

Optimized for quick copying of ASCII characters in the range 0x00..0x7F. 'to' must be large enough to store (form_length * to_cs->mbmaxlen) bytes.

Parameters
[out]toStore result here
to_lengthSize of "to" buffer
to_csCharacter set of result string
fromCopy from here
from_lengthLength of the "from" string
from_csCharacter set of the "from" string
[out]errorsNumber of conversion errors
Returns
Number of bytes copied to 'to' string

◆ my_is_prefixidx_cand()

MYSQL_STRINGS_EXPORT bool my_is_prefixidx_cand ( const CHARSET_INFO cs,
const char *  wildstr,
const char *  wildend,
int  escape,
int  w_many,
size_t *  prefix_len 
)

Identify whether given like pattern looks like a prefix pattern, which can become candidate for index only scan on prefix indexes.

Parameters
csCharacter set and collation pointer
wildstrPointer to LIKE pattern.
wildendPointer to end of LIKE pattern.
escapeEscape character pattern, typically '\'.
w_many'Many characters' pattern, typically ''.
[out]prefix_lenLength of LIKE pattern.
Returns
Optimization status.
Return values
TRUEif LIKE pattern can be used for prefix index only scan.
FALSEelse.

◆ my_isalnum()

bool my_isalnum ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isalpha()

bool my_isalpha ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isascii()

bool my_isascii ( char  ch)
inline

◆ my_iscntrl()

bool my_iscntrl ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isdigit()

bool my_isdigit ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isgraph()

bool my_isgraph ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_islower()

bool my_islower ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_ismb1st()

bool my_ismb1st ( const CHARSET_INFO cs,
unsigned  leading_byte 
)
inline

Judge if the given byte is a possible leading byte for a charset.

For gb18030 whose mbmaxlenlen is 2, we can't determine the length of a multi-byte character by looking at the first byte only

Parameters
[in]cscharset_info
[in]leading_bytepossible leading byte
Returns
true if it is, otherwise false

◆ my_ismbchar() [1/2]

unsigned my_ismbchar ( const CHARSET_INFO cs,
const char *  str,
const char *  strend 
)
inline

◆ my_ismbchar() [2/2]

unsigned my_ismbchar ( const CHARSET_INFO cs,
const uint8_t *  str,
const uint8_t *  strend 
)
inline

◆ my_ispunct()

bool my_ispunct ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isspace()

bool my_isspace ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isupper()

bool my_isupper ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isvar()

bool my_isvar ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isvar_start()

bool my_isvar_start ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_isxdigit()

bool my_isxdigit ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_like_range()

bool my_like_range ( const CHARSET_INFO cs,
const char *  s,
size_t  s_length,
char  w_prefix,
char  w_one,
char  w_many,
size_t  res_length,
char *  min_str,
char *  max_str,
size_t *  min_len,
size_t *  max_len 
)
inline

◆ my_mbcharlen()

unsigned my_mbcharlen ( const CHARSET_INFO cs,
unsigned  first_byte 
)
inline

◆ my_mbcharlen_2()

unsigned my_mbcharlen_2 ( const CHARSET_INFO cs,
uint8_t  first_byte,
uint8_t  second_byte 
)
inline

Get the length of gb18030 code by the given two leading bytes.

Parameters
[in]cscharset_info
[in]first_bytefirst byte of gb18030 code
[in]second_bytesecond byte of gb18030 code
Returns
the length of gb18030 code starting with given two bytes, the length would be 2 or 4 for valid gb18030 code, or 0 for invalid gb18030 code

◆ my_mbcharlen_ptr()

MYSQL_STRINGS_EXPORT unsigned my_mbcharlen_ptr ( const CHARSET_INFO cs,
const char *  s,
const char *  e 
)

Get the length of the first code in given sequence of chars.

This func is introduced because we can't determine the length by checking the first byte only for gb18030, so we first try my_mbcharlen, and then my_mbcharlen_2 if necessary to get the length

Parameters
[in]cscharset_info
[in]sstart of the char sequence
[in]eend of the char sequence
Returns
The length of the first code, or 0 for invalid code

◆ my_mbmaxlenlen()

unsigned my_mbmaxlenlen ( const CHARSET_INFO cs)
inline

Get the maximum length of leading bytes needed to determine the length of a multi-byte gb18030 code.

Parameters
[in]cscharset_info
Returns
number of leading bytes we need, would be 2 for gb18030 and 1 for all other charsets

◆ MY_PUT_MB2()

static void MY_PUT_MB2 ( unsigned char *  s,
uint16_t  code 
)
inlinestatic

◆ my_strcasecmp()

int my_strcasecmp ( const CHARSET_INFO cs,
const char *  s1,
const char *  s2 
)
inline

◆ my_strcspn()

MYSQL_STRINGS_EXPORT size_t my_strcspn ( const CHARSET_INFO cs,
const char *  str,
const char *  str_end,
const char *  reject,
size_t  reject_length 
)

Calculate the length of the initial segment of 'str' which consists entirely of characters not in 'reject'.

Parameters
csPointer to charset info.
strPointer to multi-byte string.
str_endPointer to end of multi-byte string.
rejectPointer to start of single-byte reject string.
reject_lengthLength of single-byte reject string.
Returns
Length of segment of multi-byte string that doesn't contain any character of the single-byte reject string or zero if an invalid encoding of a character of the multi-byte string is found.
Note
The reject string points to single-byte characters so it is only possible to find the first occurrence of a single-byte character. Multi-byte characters in 'str' are treated as not matching any character in the reject string. This method returns zero if an invalid encoding of any character in the string 'str' using charset 'cs' is found.

◆ my_string_repertoire()

MYSQL_STRINGS_EXPORT unsigned my_string_repertoire ( const CHARSET_INFO cs,
const char *  str,
size_t  len 
)

◆ my_strnncoll()

int my_strnncoll ( const CHARSET_INFO cs,
const uint8_t *  a,
size_t  a_length,
const uint8_t *  b,
size_t  b_length 
)
inline

◆ my_strntod()

double my_strntod ( const CHARSET_INFO cs,
const char *  str,
size_t  length,
const char **  end,
int *  err 
)
inline

◆ my_strntol()

long my_strntol ( const CHARSET_INFO cs,
const char *  str,
size_t  length,
int  base,
const char **  end,
int *  err 
)
inline

◆ my_strntoll()

int64_t my_strntoll ( const CHARSET_INFO cs,
const char *  str,
size_t  length,
int  base,
const char **  end,
int *  err 
)
inline

◆ my_strntoul()

unsigned long my_strntoul ( const CHARSET_INFO cs,
const char *  str,
size_t  length,
int  base,
const char **  end,
int *  err 
)
inline

◆ my_strntoull()

uint64_t my_strntoull ( const CHARSET_INFO cs,
const char *  str,
size_t  length,
int  base,
const char **  end,
int *  err 
)
inline

◆ my_strnxfrm()

size_t my_strnxfrm ( const CHARSET_INFO cs,
uint8_t *  dst,
size_t  dstlen,
const uint8_t *  src,
size_t  srclen 
)
inline

◆ my_strxfrm_flag_normalize()

MYSQL_STRINGS_EXPORT unsigned my_strxfrm_flag_normalize ( unsigned  flags)

◆ my_tolower()

char my_tolower ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_toupper()

char my_toupper ( const CHARSET_INFO cs,
char  ch 
)
inline

◆ my_wildcmp()

int my_wildcmp ( 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 
)
inline

◆ my_wildcmp_mb_bin()

MYSQL_STRINGS_EXPORT int my_wildcmp_mb_bin ( 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 
)
Note
Deprecated function, please call cs->coll->wildcmp(cs...) instead.

◆ use_mb()

bool use_mb ( const CHARSET_INFO cs)
inline

◆ use_strnxfrm()

bool use_strnxfrm ( const CHARSET_INFO cs)
inline

Variable Documentation

◆ CHARSET_DIR

constexpr const char* CHARSET_DIR = "charsets/"
constexpr

◆ MY_CHAR_B

constexpr uint8_t MY_CHAR_B = 0100
staticconstexpr

◆ MY_CHAR_CTR

constexpr uint8_t MY_CHAR_CTR = 040
staticconstexpr

◆ MY_CHAR_L

constexpr uint8_t MY_CHAR_L = 02
staticconstexpr

◆ MY_CHAR_NMR

constexpr uint8_t MY_CHAR_NMR = 04
staticconstexpr

◆ MY_CHAR_PNT

constexpr uint8_t MY_CHAR_PNT = 020
staticconstexpr

◆ MY_CHAR_SPC

constexpr uint8_t MY_CHAR_SPC = 010
staticconstexpr

◆ MY_CHAR_U

constexpr uint8_t MY_CHAR_U = 01
staticconstexpr

◆ MY_CHAR_X

constexpr uint8_t MY_CHAR_X = 0200
staticconstexpr

◆ my_charset_bin

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_bin
extern

◆ my_charset_filename

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_filename
extern

◆ my_charset_latin1

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_latin1
extern

◆ my_charset_latin1_bin

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_latin1_bin
extern

◆ MY_CHARSET_UNDEFINED

constexpr uint32_t MY_CHARSET_UNDEFINED = 0
staticconstexpr

◆ my_charset_utf32_unicode_ci

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf32_unicode_ci
extern

◆ my_charset_utf8mb3_bin

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_bin
extern

◆ my_charset_utf8mb3_general_ci

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_general_ci
extern

◆ my_charset_utf8mb3_tolower_ci

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_tolower_ci
extern

◆ my_charset_utf8mb3_unicode_ci

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb3_unicode_ci
extern

◆ my_charset_utf8mb4_0900_ai_ci

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_0900_ai_ci
extern

◆ my_charset_utf8mb4_0900_bin

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_0900_bin
extern

◆ my_charset_utf8mb4_bin

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_bin
extern

◆ my_charset_utf8mb4_general_ci

MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_utf8mb4_general_ci
extern

◆ MY_CS_AVAILABLE

constexpr uint32_t MY_CS_AVAILABLE = 1 << 9
staticconstexpr

◆ MY_CS_BINSORT

constexpr uint32_t MY_CS_BINSORT = 1 << 4
staticconstexpr

◆ MY_CS_COMPILED

constexpr uint32_t MY_CS_COMPILED = 1 << 0
staticconstexpr

◆ MY_CS_CONFIG_UNUSED

constexpr uint32_t MY_CS_CONFIG_UNUSED = 1 << 1
staticconstexpr

◆ MY_CS_CSSORT

constexpr uint32_t MY_CS_CSSORT = 1 << 10
staticconstexpr

◆ MY_CS_HIDDEN

constexpr uint32_t MY_CS_HIDDEN = 1 << 11
staticconstexpr

◆ MY_CS_ILSEQ

constexpr int MY_CS_ILSEQ = 0
staticconstexpr

◆ MY_CS_ILUNI

constexpr int MY_CS_ILUNI = 0
staticconstexpr

◆ MY_CS_INDEX_UNUSED

constexpr uint32_t MY_CS_INDEX_UNUSED = 1 << 2
staticconstexpr

◆ MY_CS_INLINE

constexpr uint32_t MY_CS_INLINE = 1 << 16
staticconstexpr

◆ MY_CS_LOADED

constexpr uint32_t MY_CS_LOADED = 1 << 3
staticconstexpr

◆ MY_CS_LOWER_SORT

constexpr uint32_t MY_CS_LOWER_SORT = 1 << 15
staticconstexpr

◆ MY_CS_NAME_SIZE

constexpr int MY_CS_NAME_SIZE = 32
constexpr

◆ MY_CS_NONASCII

constexpr uint32_t MY_CS_NONASCII = 1 << 13
staticconstexpr

◆ MY_CS_PRIMARY

constexpr uint32_t MY_CS_PRIMARY = 1 << 5
staticconstexpr

◆ MY_CS_PUREASCII

constexpr uint32_t MY_CS_PUREASCII = 1 << 12
staticconstexpr

◆ MY_CS_READY

constexpr uint32_t MY_CS_READY = 1 << 8
staticconstexpr

◆ MY_CS_STRNXFRM

constexpr uint32_t MY_CS_STRNXFRM = 1 << 6
staticconstexpr

◆ MY_CS_TOOSMALL

constexpr int MY_CS_TOOSMALL = -101
staticconstexpr

◆ MY_CS_TOOSMALL2

constexpr int MY_CS_TOOSMALL2 = -102
staticconstexpr

◆ MY_CS_TOOSMALL3

constexpr int MY_CS_TOOSMALL3 = -103
staticconstexpr

◆ MY_CS_TOOSMALL4

constexpr int MY_CS_TOOSMALL4 = -104
staticconstexpr

◆ MY_CS_TOOSMALL5

constexpr int MY_CS_TOOSMALL5 = -105
staticconstexpr

◆ MY_CS_TOOSMALL6

constexpr int MY_CS_TOOSMALL6 = -106
staticconstexpr

◆ MY_CS_UNICODE

constexpr uint32_t MY_CS_UNICODE = 1 << 7
staticconstexpr

◆ MY_CS_UNICODE_SUPPLEMENT

constexpr uint32_t MY_CS_UNICODE_SUPPLEMENT = 1 << 14
staticconstexpr

◆ MY_REPERTOIRE_ASCII

constexpr uint32_t MY_REPERTOIRE_ASCII = 1
staticconstexpr

◆ MY_REPERTOIRE_EXTENDED

constexpr uint32_t MY_REPERTOIRE_EXTENDED = 2
staticconstexpr

◆ MY_REPERTOIRE_UNICODE30

constexpr uint32_t MY_REPERTOIRE_UNICODE30 = 3
staticconstexpr

◆ MY_SEQ_INTTAIL

constexpr int MY_SEQ_INTTAIL = 1
staticconstexpr

◆ MY_SEQ_SPACES

constexpr int MY_SEQ_SPACES = 2
staticconstexpr

◆ my_string_stack_guard

MYSQL_STRINGS_EXPORT int(* my_string_stack_guard) (int) ( int  )
extern

◆ MY_STRXFRM_PAD_TO_MAXLEN

constexpr uint32_t MY_STRXFRM_PAD_TO_MAXLEN = 0x00000080
staticconstexpr