MySQL 8.0.39
Source Code Documentation
ctype-ucs2.cc File Reference
#include <assert.h>
#include <errno.h>
#include <limits.h>
#include <stdarg.h>
#include <string.h>
#include <sys/types.h>
#include <algorithm>
#include "m_ctype.h"
#include "m_string.h"
#include "my_byteorder.h"
#include "my_compiler.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "template_utils.h"

Macros

#define EILSEQ   ENOENT
 
#define ULONGLONG_MAX   (~(ulonglong)0)
 
#define MAX_NEGATIVE_NUMBER   ((ulonglong)0x8000000000000000LL)
 
#define INIT_CNT   9
 
#define LFACTOR   1000000000ULL
 
#define LFACTOR1   10000000000ULL
 
#define LFACTOR2   100000000000ULL
 
#define MY_UTF16_SURROGATE_HIGH_FIRST   0xD800
 
#define MY_UTF16_SURROGATE_LOW_FIRST   0xDC00
 
#define MY_UTF16_SURROGATE_LOW_LAST   0xDFFF
 
#define MY_UTF16_HIGH_HEAD(x)   ((((uchar)(x)) & 0xFC) == 0xD8)
 
#define MY_UTF16_LOW_HEAD(x)   ((((uchar)(x)) & 0xFC) == 0xDC)
 
#define MY_UTF16_SURROGATE(x)   (((x)&0xF800) == 0xD800)
 
#define MY_UTF16_WC2(a, b)   ((a << 8) + b)
 
#define MY_UTF16_WC4(a, b, c, d)    (((a & 3) << 18) + (b << 10) + ((c & 3) << 8) + d + 0x10000)
 

Functions

static longlong ulonglong_with_sign (bool negative, ulonglong ll)
 
static int my_bincmp (const uchar *s, const uchar *se, const uchar *t, const uchar *te)
 
static size_t my_caseup_str_mb2_or_mb4 (const CHARSET_INFO *cs, char *s)
 
static size_t my_casedn_str_mb2_or_mb4 (const CHARSET_INFO *cs, char *s)
 
static int my_strcasecmp_mb2_or_mb4 (const CHARSET_INFO *cs, const char *s, const char *t)
 
static long my_strntol_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
 
static ulong my_strntoul_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
 
static longlong my_strntoll_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
 
static ulonglong my_strntoull_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
 
static double my_strntod_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t length, const char **endptr, int *err)
 
static ulonglong my_strntoull10rnd_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t length, int unsign_fl, const char **endptr, int *err)
 
static size_t my_l10tostr_mb2_or_mb4 (const CHARSET_INFO *cs, char *dst, size_t len, int radix, long int val)
 
static size_t my_ll10tostr_mb2_or_mb4 (const CHARSET_INFO *cs, char *dst, size_t len, int radix, longlong val)
 
static longlong my_strtoll10_mb2 (const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
 
static size_t my_scan_mb2 (const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
 
static void my_fill_mb2 (const CHARSET_INFO *cs, char *s, size_t slen, int fill)
 
static size_t my_vsnprintf_mb2 (char *dst, size_t n, const char *fmt, va_list ap)
 
static size_t my_snprintf_mb2 (const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
 
static size_t my_lengthsp_mb2 (const CHARSET_INFO *cs, const char *ptr, size_t length)
 
static int my_utf16_uni (const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
 
static int my_uni_utf16 (const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
 
static void my_tolower_utf16 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static void my_toupper_utf16 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static void my_tosort_utf16 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static size_t my_caseup_utf16 (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
 
static void my_hash_sort_utf16 (const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
 
static size_t my_casedn_utf16 (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
 
static int my_strnncoll_utf16 (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_utf16 (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
 Compare strings, discarding end space. More...
 
static uint my_ismbchar_utf16 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static uint my_mbcharlen_utf16 (const CHARSET_INFO *cs, uint c)
 
static size_t my_numchars_utf16 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static size_t my_charpos_utf16 (const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
 
static size_t my_well_formed_len_utf16 (const CHARSET_INFO *cs, const char *b, const char *e, size_t nchars, int *error)
 
static int my_wildcmp_utf16_ci (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)
 
static int my_wildcmp_utf16_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)
 
static int my_strnncoll_utf16_bin (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_utf16_bin (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
 
static void my_hash_sort_utf16_bin (const CHARSET_INFO *cs, const uchar *pos, size_t len, uint64 *nr1, uint64 *nr2)
 
static int my_utf16le_uni (const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
 
static int my_uni_utf16le (const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
 
static size_t my_lengthsp_utf16le (const CHARSET_INFO *cs, const char *ptr, size_t length)
 
static int my_utf32_uni (const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
 
static int my_uni_utf32 (const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
 
static void my_tolower_utf32 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static void my_toupper_utf32 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static void my_tosort_utf32 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static size_t my_caseup_utf32 (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
 
static void my_hash_sort_utf32 (const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
 
static size_t my_casedn_utf32 (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
 
static int my_strnncoll_utf32 (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_utf32 (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
 Compare strings, discarding end space. More...
 
static size_t my_strnxfrmlen_utf32 (const CHARSET_INFO *cs, size_t len)
 
static uint my_ismbchar_utf32 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static uint my_mbcharlen_utf32 (const CHARSET_INFO *cs, uint c)
 
static size_t my_vsnprintf_utf32 (char *dst, size_t n, const char *fmt, va_list ap)
 
static size_t my_snprintf_utf32 (const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
 
static longlong my_strtoll10_utf32 (const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
 
static size_t my_numchars_utf32 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static size_t my_charpos_utf32 (const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
 
static size_t my_well_formed_len_utf32 (const CHARSET_INFO *cs, const char *b, const char *e, size_t nchars, int *error)
 
static void my_fill_utf32 (const CHARSET_INFO *cs, char *s, size_t slen, int fill)
 
static size_t my_lengthsp_utf32 (const CHARSET_INFO *cs, const char *ptr, size_t length)
 
static int my_wildcmp_utf32_ci (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)
 
static int my_wildcmp_utf32_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)
 
static int my_strnncoll_utf32_bin (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
 
static my_wc_t my_utf32_get (const uchar *s)
 
static int my_strnncollsp_utf32_bin (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
 
static size_t my_scan_utf32 (const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
 
static int my_ucs2_uni (const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
 
static int my_uni_ucs2 (const CHARSET_INFO *cs, my_wc_t wc, uchar *r, uchar *e)
 
static void my_tolower_ucs2 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static void my_toupper_ucs2 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static void my_tosort_ucs2 (const MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
 
static size_t my_caseup_ucs2 (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
 
static void my_hash_sort_ucs2 (const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
 
static size_t my_casedn_ucs2 (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
 
static void my_fill_ucs2 (const CHARSET_INFO *cs, char *s, size_t l, int fill)
 
static int my_strnncoll_ucs2 (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_ucs2 (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
 
static uint my_ismbchar_ucs2 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static uint my_mbcharlen_ucs2 (const CHARSET_INFO *cs, uint c)
 
static size_t my_numchars_ucs2 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static size_t my_charpos_ucs2 (const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
 
static size_t my_well_formed_len_ucs2 (const CHARSET_INFO *cs, const char *b, const char *e, size_t nchars, int *error)
 
static int my_wildcmp_ucs2_ci (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)
 
static int my_wildcmp_ucs2_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)
 
static int my_strnncoll_ucs2_bin (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_ucs2_bin (const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
 
static void my_hash_sort_ucs2_bin (const CHARSET_INFO *cs, const uchar *key, size_t len, uint64 *nr1, uint64 *nr2)
 

Variables

static unsigned long lfactor [9]
 
static MY_COLLATION_HANDLER my_collation_utf16_general_ci_handler
 
static MY_COLLATION_HANDLER my_collation_utf16_bin_handler
 
MY_CHARSET_HANDLER my_charset_utf16_handler
 
CHARSET_INFO my_charset_utf16_general_ci
 
CHARSET_INFO my_charset_utf16_bin
 
static MY_CHARSET_HANDLER my_charset_utf16le_handler
 
CHARSET_INFO my_charset_utf16le_general_ci
 
CHARSET_INFO my_charset_utf16le_bin
 
static MY_COLLATION_HANDLER my_collation_utf32_general_ci_handler
 
static MY_COLLATION_HANDLER my_collation_utf32_bin_handler
 
MY_CHARSET_HANDLER my_charset_utf32_handler
 
CHARSET_INFO my_charset_utf32_general_ci
 
CHARSET_INFO my_charset_utf32_bin
 
static const uchar ctype_ucs2 []
 
static const uchar to_lower_ucs2 []
 
static const uchar to_upper_ucs2 []
 
static MY_COLLATION_HANDLER my_collation_ucs2_general_ci_handler
 
static MY_COLLATION_HANDLER my_collation_ucs2_bin_handler
 
MY_CHARSET_HANDLER my_charset_ucs2_handler
 
CHARSET_INFO my_charset_ucs2_general_ci
 
CHARSET_INFO my_charset_ucs2_general_mysql500_ci
 
CHARSET_INFO my_charset_ucs2_bin
 

Macro Definition Documentation

◆ EILSEQ

#define EILSEQ   ENOENT

◆ INIT_CNT

#define INIT_CNT   9

◆ LFACTOR

#define LFACTOR   1000000000ULL

◆ LFACTOR1

#define LFACTOR1   10000000000ULL

◆ LFACTOR2

#define LFACTOR2   100000000000ULL

◆ MAX_NEGATIVE_NUMBER

#define MAX_NEGATIVE_NUMBER   ((ulonglong)0x8000000000000000LL)

◆ MY_UTF16_HIGH_HEAD

#define MY_UTF16_HIGH_HEAD (   x)    ((((uchar)(x)) & 0xFC) == 0xD8)

◆ MY_UTF16_LOW_HEAD

#define MY_UTF16_LOW_HEAD (   x)    ((((uchar)(x)) & 0xFC) == 0xDC)

◆ MY_UTF16_SURROGATE

#define MY_UTF16_SURROGATE (   x)    (((x)&0xF800) == 0xD800)

◆ MY_UTF16_SURROGATE_HIGH_FIRST

#define MY_UTF16_SURROGATE_HIGH_FIRST   0xD800

◆ MY_UTF16_SURROGATE_LOW_FIRST

#define MY_UTF16_SURROGATE_LOW_FIRST   0xDC00

◆ MY_UTF16_SURROGATE_LOW_LAST

#define MY_UTF16_SURROGATE_LOW_LAST   0xDFFF

◆ MY_UTF16_WC2

#define MY_UTF16_WC2 (   a,
 
)    ((a << 8) + b)

◆ MY_UTF16_WC4

#define MY_UTF16_WC4 (   a,
  b,
  c,
 
)     (((a & 3) << 18) + (b << 10) + ((c & 3) << 8) + d + 0x10000)

◆ ULONGLONG_MAX

#define ULONGLONG_MAX   (~(ulonglong)0)

Function Documentation

◆ my_bincmp()

static int my_bincmp ( const uchar s,
const uchar se,
const uchar t,
const uchar te 
)
inlinestatic

◆ my_casedn_str_mb2_or_mb4()

static size_t my_casedn_str_mb2_or_mb4 ( const CHARSET_INFO cs,
char *  s 
)
static

◆ my_casedn_ucs2()

static size_t my_casedn_ucs2 ( const CHARSET_INFO cs,
char *  src,
size_t  srclen,
char *  dst,
size_t  dstlen 
)
static

◆ my_casedn_utf16()

static size_t my_casedn_utf16 ( const CHARSET_INFO cs,
char *  src,
size_t  srclen,
char *  dst,
size_t  dstlen 
)
static

◆ my_casedn_utf32()

static size_t my_casedn_utf32 ( const CHARSET_INFO cs,
char *  src,
size_t  srclen,
char *  dst,
size_t  dstlen 
)
static

◆ my_caseup_str_mb2_or_mb4()

static size_t my_caseup_str_mb2_or_mb4 ( const CHARSET_INFO cs,
char *  s 
)
static

◆ my_caseup_ucs2()

static size_t my_caseup_ucs2 ( const CHARSET_INFO cs,
char *  src,
size_t  srclen,
char *  dst,
size_t  dstlen 
)
static

◆ my_caseup_utf16()

static size_t my_caseup_utf16 ( const CHARSET_INFO cs,
char *  src,
size_t  srclen,
char *  dst,
size_t  dstlen 
)
static

◆ my_caseup_utf32()

static size_t my_caseup_utf32 ( const CHARSET_INFO cs,
char *  src,
size_t  srclen,
char *  dst,
size_t  dstlen 
)
static

◆ my_charpos_ucs2()

static size_t my_charpos_ucs2 ( const CHARSET_INFO cs,
const char *  b,
const char *  e,
size_t  pos 
)
static

◆ my_charpos_utf16()

static size_t my_charpos_utf16 ( const CHARSET_INFO cs,
const char *  b,
const char *  e,
size_t  pos 
)
static

◆ my_charpos_utf32()

static size_t my_charpos_utf32 ( const CHARSET_INFO cs,
const char *  b,
const char *  e,
size_t  pos 
)
static

◆ my_fill_mb2()

static void my_fill_mb2 ( const CHARSET_INFO cs,
char *  s,
size_t  slen,
int  fill 
)
static

◆ my_fill_ucs2()

static void my_fill_ucs2 ( const CHARSET_INFO cs,
char *  s,
size_t  l,
int  fill 
)
static

◆ my_fill_utf32()

static void my_fill_utf32 ( const CHARSET_INFO cs,
char *  s,
size_t  slen,
int  fill 
)
static

◆ my_hash_sort_ucs2()

static void my_hash_sort_ucs2 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
uint64 n1,
uint64 n2 
)
static

◆ my_hash_sort_ucs2_bin()

static void my_hash_sort_ucs2_bin ( const CHARSET_INFO cs,
const uchar key,
size_t  len,
uint64 nr1,
uint64 nr2 
)
static

◆ my_hash_sort_utf16()

static void my_hash_sort_utf16 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
uint64 n1,
uint64 n2 
)
static

◆ my_hash_sort_utf16_bin()

static void my_hash_sort_utf16_bin ( const CHARSET_INFO cs,
const uchar pos,
size_t  len,
uint64 nr1,
uint64 nr2 
)
static

◆ my_hash_sort_utf32()

static void my_hash_sort_utf32 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
uint64 n1,
uint64 n2 
)
static

◆ my_ismbchar_ucs2()

static uint my_ismbchar_ucs2 ( const CHARSET_INFO cs,
const char *  b,
const char *  e 
)
static

◆ my_ismbchar_utf16()

static uint my_ismbchar_utf16 ( const CHARSET_INFO cs,
const char *  b,
const char *  e 
)
static

◆ my_ismbchar_utf32()

static uint my_ismbchar_utf32 ( const CHARSET_INFO cs,
const char *  b,
const char *  e 
)
static

◆ my_l10tostr_mb2_or_mb4()

static size_t my_l10tostr_mb2_or_mb4 ( const CHARSET_INFO cs,
char *  dst,
size_t  len,
int  radix,
long int  val 
)
static

◆ my_lengthsp_mb2()

static size_t my_lengthsp_mb2 ( const CHARSET_INFO cs,
const char *  ptr,
size_t  length 
)
static

◆ my_lengthsp_utf16le()

static size_t my_lengthsp_utf16le ( const CHARSET_INFO cs,
const char *  ptr,
size_t  length 
)
static

◆ my_lengthsp_utf32()

static size_t my_lengthsp_utf32 ( const CHARSET_INFO cs,
const char *  ptr,
size_t  length 
)
static

◆ my_ll10tostr_mb2_or_mb4()

static size_t my_ll10tostr_mb2_or_mb4 ( const CHARSET_INFO cs,
char *  dst,
size_t  len,
int  radix,
longlong  val 
)
static

◆ my_mbcharlen_ucs2()

static uint my_mbcharlen_ucs2 ( const CHARSET_INFO cs,
uint  c 
)
static

◆ my_mbcharlen_utf16()

static uint my_mbcharlen_utf16 ( const CHARSET_INFO cs,
uint  c 
)
static

◆ my_mbcharlen_utf32()

static uint my_mbcharlen_utf32 ( const CHARSET_INFO cs,
uint  c 
)
static

◆ my_numchars_ucs2()

static size_t my_numchars_ucs2 ( const CHARSET_INFO cs,
const char *  b,
const char *  e 
)
static

◆ my_numchars_utf16()

static size_t my_numchars_utf16 ( const CHARSET_INFO cs,
const char *  b,
const char *  e 
)
static

◆ my_numchars_utf32()

static size_t my_numchars_utf32 ( const CHARSET_INFO cs,
const char *  b,
const char *  e 
)
static

◆ my_scan_mb2()

static size_t my_scan_mb2 ( const CHARSET_INFO cs,
const char *  str,
const char *  end,
int  sequence_type 
)
static

◆ my_scan_utf32()

static size_t my_scan_utf32 ( const CHARSET_INFO cs,
const char *  str,
const char *  end,
int  sequence_type 
)
static

◆ my_snprintf_mb2()

static size_t my_snprintf_mb2 ( const CHARSET_INFO cs,
char *  to,
size_t  n,
const char *  fmt,
  ... 
)
static

◆ my_snprintf_utf32()

static size_t my_snprintf_utf32 ( const CHARSET_INFO cs,
char *  to,
size_t  n,
const char *  fmt,
  ... 
)
static

◆ my_strcasecmp_mb2_or_mb4()

static int my_strcasecmp_mb2_or_mb4 ( const CHARSET_INFO cs,
const char *  s,
const char *  t 
)
static

◆ my_strnncoll_ucs2()

static int my_strnncoll_ucs2 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen,
bool  t_is_prefix 
)
static

◆ my_strnncoll_ucs2_bin()

static int my_strnncoll_ucs2_bin ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen,
bool  t_is_prefix 
)
static

◆ my_strnncoll_utf16()

static int my_strnncoll_utf16 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen,
bool  t_is_prefix 
)
static

◆ my_strnncoll_utf16_bin()

static int my_strnncoll_utf16_bin ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen,
bool  t_is_prefix 
)
static

◆ my_strnncoll_utf32()

static int my_strnncoll_utf32 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen,
bool  t_is_prefix 
)
static

◆ my_strnncoll_utf32_bin()

static int my_strnncoll_utf32_bin ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen,
bool  t_is_prefix 
)
static

◆ my_strnncollsp_ucs2()

static int my_strnncollsp_ucs2 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen 
)
static

◆ my_strnncollsp_ucs2_bin()

static int my_strnncollsp_ucs2_bin ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen 
)
static

◆ my_strnncollsp_utf16()

static int my_strnncollsp_utf16 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen 
)
static

Compare strings, discarding end space.

If one string is shorter as the other, then we space extend the other so that the strings have equal length.

This will ensure that the following things hold:

"a" == "a " "a\0" < "a" "a\0" < "a "

Parameters
csCharacter set pinter.
sFirst string to compare.
slenLength of 's'.
tSecond string to compare.
tlenLength of 't'.

IMPLEMENTATION

Returns
Comparison result.
Return values
Negativenumber, if a less than b.
0,ifa is equal to b
Positivenumber, if a > b

◆ my_strnncollsp_utf16_bin()

static int my_strnncollsp_utf16_bin ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen 
)
static

◆ my_strnncollsp_utf32()

static int my_strnncollsp_utf32 ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen 
)
static

Compare strings, discarding end space.

If one string is shorter as the other, then we space extend the other so that the strings have equal length.

This will ensure that the following things hold:

"a" == "a " "a\0" < "a" "a\0" < "a "

Parameters
csCharacter set pinter.
sFirst string to compare.
slenLength of 's'.
tSecond string to compare.
tlenLength of 't'.

IMPLEMENTATION

Returns
Comparison result.
Return values
Negativenumber, if a less than b.
0,ifa is equal to b
Positivenumber, if a > b

◆ my_strnncollsp_utf32_bin()

static int my_strnncollsp_utf32_bin ( const CHARSET_INFO cs,
const uchar s,
size_t  slen,
const uchar t,
size_t  tlen 
)
static

◆ my_strntod_mb2_or_mb4()

static double my_strntod_mb2_or_mb4 ( const CHARSET_INFO cs,
const char *  nptr,
size_t  length,
const char **  endptr,
int *  err 
)
static

◆ my_strntol_mb2_or_mb4()

static long my_strntol_mb2_or_mb4 ( const CHARSET_INFO cs,
const char *  nptr,
size_t  l,
int  base,
const char **  endptr,
int *  err 
)
static

◆ my_strntoll_mb2_or_mb4()

static longlong my_strntoll_mb2_or_mb4 ( const CHARSET_INFO cs,
const char *  nptr,
size_t  l,
int  base,
const char **  endptr,
int *  err 
)
static

◆ my_strntoul_mb2_or_mb4()

static ulong my_strntoul_mb2_or_mb4 ( const CHARSET_INFO cs,
const char *  nptr,
size_t  l,
int  base,
const char **  endptr,
int *  err 
)
static

◆ my_strntoull10rnd_mb2_or_mb4()

static ulonglong my_strntoull10rnd_mb2_or_mb4 ( const CHARSET_INFO cs,
const char *  nptr,
size_t  length,
int  unsign_fl,
const char **  endptr,
int *  err 
)
static

◆ my_strntoull_mb2_or_mb4()

static ulonglong my_strntoull_mb2_or_mb4 ( const CHARSET_INFO cs,
const char *  nptr,
size_t  l,
int  base,
const char **  endptr,
int *  err 
)
static

◆ my_strnxfrmlen_utf32()

static size_t my_strnxfrmlen_utf32 ( const CHARSET_INFO cs,
size_t  len 
)
static

◆ my_strtoll10_mb2()

static longlong my_strtoll10_mb2 ( const CHARSET_INFO cs,
const char *  nptr,
const char **  endptr,
int *  error 
)
static

◆ my_strtoll10_utf32()

static longlong my_strtoll10_utf32 ( const CHARSET_INFO cs,
const char *  nptr,
const char **  endptr,
int *  error 
)
static

◆ my_tolower_ucs2()

static void my_tolower_ucs2 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_tolower_utf16()

static void my_tolower_utf16 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_tolower_utf32()

static void my_tolower_utf32 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_tosort_ucs2()

static void my_tosort_ucs2 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_tosort_utf16()

static void my_tosort_utf16 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_tosort_utf32()

static void my_tosort_utf32 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_toupper_ucs2()

static void my_toupper_ucs2 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_toupper_utf16()

static void my_toupper_utf16 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_toupper_utf32()

static void my_toupper_utf32 ( const MY_UNICASE_INFO uni_plane,
my_wc_t wc 
)
inlinestatic

◆ my_ucs2_uni()

static int my_ucs2_uni ( const CHARSET_INFO cs,
my_wc_t pwc,
const uchar s,
const uchar e 
)
static

◆ my_uni_ucs2()

static int my_uni_ucs2 ( const CHARSET_INFO cs,
my_wc_t  wc,
uchar r,
uchar e 
)
static

◆ my_uni_utf16()

static int my_uni_utf16 ( const CHARSET_INFO cs,
my_wc_t  wc,
uchar s,
uchar e 
)
static

◆ my_uni_utf16le()

static int my_uni_utf16le ( const CHARSET_INFO cs,
my_wc_t  wc,
uchar s,
uchar e 
)
static

◆ my_uni_utf32()

static int my_uni_utf32 ( const CHARSET_INFO cs,
my_wc_t  wc,
uchar s,
uchar e 
)
static

◆ my_utf16_uni()

static int my_utf16_uni ( const CHARSET_INFO cs,
my_wc_t pwc,
const uchar s,
const uchar e 
)
static

◆ my_utf16le_uni()

static int my_utf16le_uni ( const CHARSET_INFO cs,
my_wc_t pwc,
const uchar s,
const uchar e 
)
static

◆ my_utf32_get()

static my_wc_t my_utf32_get ( const uchar s)
inlinestatic

◆ my_utf32_uni()

static int my_utf32_uni ( const CHARSET_INFO cs,
my_wc_t pwc,
const uchar s,
const uchar e 
)
static

◆ my_vsnprintf_mb2()

static size_t my_vsnprintf_mb2 ( char *  dst,
size_t  n,
const char *  fmt,
va_list  ap 
)
static

◆ my_vsnprintf_utf32()

static size_t my_vsnprintf_utf32 ( char *  dst,
size_t  n,
const char *  fmt,
va_list  ap 
)
static

◆ my_well_formed_len_ucs2()

static size_t my_well_formed_len_ucs2 ( const CHARSET_INFO cs,
const char *  b,
const char *  e,
size_t  nchars,
int *  error 
)
static

◆ my_well_formed_len_utf16()

static size_t my_well_formed_len_utf16 ( const CHARSET_INFO cs,
const char *  b,
const char *  e,
size_t  nchars,
int *  error 
)
static

◆ my_well_formed_len_utf32()

static size_t my_well_formed_len_utf32 ( const CHARSET_INFO cs,
const char *  b,
const char *  e,
size_t  nchars,
int *  error 
)
static

◆ my_wildcmp_ucs2_bin()

static int my_wildcmp_ucs2_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 
)
static

◆ my_wildcmp_ucs2_ci()

static int my_wildcmp_ucs2_ci ( 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 
)
static

◆ my_wildcmp_utf16_bin()

static int my_wildcmp_utf16_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 
)
static

◆ my_wildcmp_utf16_ci()

static int my_wildcmp_utf16_ci ( 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 
)
static

◆ my_wildcmp_utf32_bin()

static int my_wildcmp_utf32_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 
)
static

◆ my_wildcmp_utf32_ci()

static int my_wildcmp_utf32_ci ( 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 
)
static

◆ ulonglong_with_sign()

static longlong ulonglong_with_sign ( bool  negative,
ulonglong  ll 
)
inlinestatic

Variable Documentation

◆ ctype_ucs2

const uchar ctype_ucs2[]
static
Initial value:
= {
0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 16, 16, 16, 16, 16,
16, 16, 129, 129, 129, 129, 129, 129, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16,
16, 16, 130, 130, 130, 130, 130, 130, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16,
32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0}

◆ lfactor

unsigned long lfactor[9]
static
Initial value:
= {
1L, 10L, 100L, 1000L, 10000L, 100000L, 1000000L, 10000000L, 100000000L}

◆ my_charset_ucs2_bin

CHARSET_INFO my_charset_ucs2_bin

◆ my_charset_ucs2_general_ci

CHARSET_INFO my_charset_ucs2_general_ci

◆ my_charset_ucs2_general_mysql500_ci

CHARSET_INFO my_charset_ucs2_general_mysql500_ci

◆ my_charset_ucs2_handler

MY_CHARSET_HANDLER my_charset_ucs2_handler
Initial value:
= {nullptr,
static size_t my_casedn_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:2572
static ulong my_strntoul_mb2_or_mb4(const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
Definition: ctype-ucs2.cc:195
static int my_uni_ucs2(const CHARSET_INFO *cs, my_wc_t wc, uchar *r, uchar *e)
Definition: ctype-ucs2.cc:2493
static ulonglong my_strntoull_mb2_or_mb4(const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
Definition: ctype-ucs2.cc:380
static longlong my_strntoll_mb2_or_mb4(const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
Definition: ctype-ucs2.cc:285
static size_t my_snprintf_mb2(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:903
static size_t my_scan_mb2(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:790
static size_t my_caseup_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:2527
static size_t my_ll10tostr_mb2_or_mb4(const CHARSET_INFO *cs, char *dst, size_t len, int radix, longlong val)
Definition: ctype-ucs2.cc:572
static int my_ucs2_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:2484
static size_t my_l10tostr_mb2_or_mb4(const CHARSET_INFO *cs, char *dst, size_t len, int radix, long int val)
Definition: ctype-ucs2.cc:529
static void my_fill_ucs2(const CHARSET_INFO *cs, char *s, size_t l, int fill)
Definition: ctype-ucs2.cc:2590
static size_t my_well_formed_len_ucs2(const CHARSET_INFO *cs, const char *b, const char *e, size_t nchars, int *error)
Definition: ctype-ucs2.cc:2717
static long my_strntol_mb2_or_mb4(const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
Definition: ctype-ucs2.cc:100
static size_t my_caseup_str_mb2_or_mb4(const CHARSET_INFO *cs, char *s)
Definition: ctype-ucs2.cc:81
static size_t my_casedn_str_mb2_or_mb4(const CHARSET_INFO *cs, char *s)
Definition: ctype-ucs2.cc:87
static size_t my_charpos_ucs2(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:2711
static size_t my_lengthsp_mb2(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:913
static uint my_mbcharlen_ucs2(const CHARSET_INFO *cs, uint c)
Definition: ctype-ucs2.cc:2701
static size_t my_numchars_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2706
static double my_strntod_mb2_or_mb4(const CHARSET_INFO *cs, const char *nptr, size_t length, const char **endptr, int *err)
Definition: ctype-ucs2.cc:470
static uint my_ismbchar_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2695
static longlong my_strtoll10_mb2(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:627
static ulonglong my_strntoull10rnd_mb2_or_mb4(const CHARSET_INFO *cs, const char *nptr, size_t length, int unsign_fl, const char **endptr, int *err)
Definition: ctype-ucs2.cc:498
int my_mb_ctype_mb(const CHARSET_INFO *, int *, const uchar *, const uchar *)
Definition: ctype-mb.cc:1324
size_t my_numcells_mb(const CHARSET_INFO *, const char *b, const char *e)
Definition: ctype-mb.cc:1292

◆ my_charset_utf16_bin

CHARSET_INFO my_charset_utf16_bin

◆ my_charset_utf16_general_ci

CHARSET_INFO my_charset_utf16_general_ci

◆ my_charset_utf16_handler

MY_CHARSET_HANDLER my_charset_utf16_handler
Initial value:
= {
nullptr,
static size_t my_charpos_utf16(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:1218
static uint my_ismbchar_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1194
static void my_fill_mb2(const CHARSET_INFO *cs, char *s, size_t slen, int fill)
Definition: ctype-ucs2.cc:810
static size_t my_well_formed_len_utf16(const CHARSET_INFO *cs, const char *b, const char *e, size_t nchars, int *error)
Definition: ctype-ucs2.cc:1230
static size_t my_casedn_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1065
static uint my_mbcharlen_utf16(const CHARSET_INFO *cs, uint c)
Definition: ctype-ucs2.cc:1201
static int my_uni_utf16(const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
Definition: ctype-ucs2.cc:974
static size_t my_caseup_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1022
static int my_utf16_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:946
static size_t my_numchars_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1207

◆ my_charset_utf16le_bin

CHARSET_INFO my_charset_utf16le_bin

◆ my_charset_utf16le_general_ci

CHARSET_INFO my_charset_utf16le_general_ci

◆ my_charset_utf16le_handler

MY_CHARSET_HANDLER my_charset_utf16le_handler
static
Initial value:
= {
nullptr,
static int my_uni_utf16le(const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
Definition: ctype-ucs2.cc:1513
static int my_utf16le_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:1488
static size_t my_lengthsp_utf16le(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:1534

◆ my_charset_utf32_bin

CHARSET_INFO my_charset_utf32_bin

◆ my_charset_utf32_general_ci

CHARSET_INFO my_charset_utf32_general_ci

◆ my_charset_utf32_handler

MY_CHARSET_HANDLER my_charset_utf32_handler
Initial value:
= {nullptr,
static void my_fill_utf32(const CHARSET_INFO *cs, char *s, size_t slen, int fill)
Definition: ctype-ucs2.cc:2161
static size_t my_charpos_utf32(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:2122
static int my_uni_utf32(const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
Definition: ctype-ucs2.cc:1651
static size_t my_snprintf_utf32(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:1969
static longlong my_strtoll10_utf32(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:1979
static uint my_ismbchar_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1881
static size_t my_lengthsp_utf32(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:2181
static size_t my_numchars_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2117
static size_t my_caseup_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1688
static size_t my_casedn_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1748
static uint my_mbcharlen_utf32(const CHARSET_INFO *cs, uint c)
Definition: ctype-ucs2.cc:1887
static size_t my_well_formed_len_utf32(const CHARSET_INFO *cs, const char *b, const char *e, size_t nchars, int *error)
Definition: ctype-ucs2.cc:2131
static size_t my_scan_utf32(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:2276
static int my_utf32_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:1644

◆ my_collation_ucs2_bin_handler

MY_COLLATION_HANDLER my_collation_ucs2_bin_handler
static
Initial value:
= {
nullptr,
nullptr,
static int my_strnncollsp_ucs2_bin(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
Definition: ctype-ucs2.cc:2770
static int my_wildcmp_ucs2_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)
Definition: ctype-ucs2.cc:2736
static int my_strcasecmp_mb2_or_mb4(const CHARSET_INFO *cs, const char *s, const char *t)
Definition: ctype-ucs2.cc:93
static void my_hash_sort_ucs2_bin(const CHARSET_INFO *cs, const uchar *key, size_t len, uint64 *nr1, uint64 *nr2)
Definition: ctype-ucs2.cc:2807
static int my_strnncoll_ucs2_bin(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:2744
size_t my_strnxfrmlen_simple(const CHARSET_INFO *, size_t)
Definition: ctype-simple.cc:64
uint my_instr_mb(const CHARSET_INFO *, const char *b, size_t b_length, const char *s, size_t s_length, my_match_t *match, uint nmatch)
Definition: ctype-mb.cc:362
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:809
size_t my_strnxfrm_unicode(const CHARSET_INFO *, uchar *dst, size_t dstlen, uint nweights, const uchar *src, size_t srclen, uint flags)
Definition: ctype-utf8.cc:5104
bool my_propagate_simple(const CHARSET_INFO *cs, const uchar *str, size_t len)
Definition: ctype-simple.cc:1484

◆ my_collation_ucs2_general_ci_handler

MY_COLLATION_HANDLER my_collation_ucs2_general_ci_handler
static
Initial value:
= {
nullptr,
nullptr,
static int my_strnncollsp_ucs2(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
Definition: ctype-ucs2.cc:2655
static void my_hash_sort_ucs2(const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
Definition: ctype-ucs2.cc:2545
static int my_wildcmp_ucs2_ci(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)
Definition: ctype-ucs2.cc:2727
static int my_strnncoll_ucs2(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:2597

◆ my_collation_utf16_bin_handler

MY_COLLATION_HANDLER my_collation_utf16_bin_handler
static
Initial value:
= {
nullptr,
nullptr,
static int my_strnncoll_utf16_bin(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:1263
static void my_hash_sort_utf16_bin(const CHARSET_INFO *cs, const uchar *pos, size_t len, uint64 *nr1, uint64 *nr2)
Definition: ctype-ucs2.cc:1339
static int my_wildcmp_utf16_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)
Definition: ctype-ucs2.cc:1255
static int my_strnncollsp_utf16_bin(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
Definition: ctype-ucs2.cc:1289
size_t my_strnxfrmlen_unicode_full_bin(const CHARSET_INFO *, size_t)
Definition: ctype-utf8.cc:5170
size_t my_strnxfrm_unicode_full_bin(const CHARSET_INFO *, uchar *dst, size_t dstlen, uint nweights, const uchar *src, size_t srclen, uint flags)
Definition: ctype-utf8.cc:5125

◆ my_collation_utf16_general_ci_handler

MY_COLLATION_HANDLER my_collation_utf16_general_ci_handler
static
Initial value:
= {
nullptr,
nullptr,
static void my_hash_sort_utf16(const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
Definition: ctype-ucs2.cc:1040
static int my_wildcmp_utf16_ci(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)
Definition: ctype-ucs2.cc:1246
static int my_strnncollsp_utf16(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
Compare strings, discarding end space.
Definition: ctype-ucs2.cc:1140
static int my_strnncoll_utf16(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:1083

◆ my_collation_utf32_bin_handler

MY_COLLATION_HANDLER my_collation_utf32_bin_handler
static
Initial value:
= {
nullptr,
nullptr,
static int my_wildcmp_utf32_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)
Definition: ctype-ucs2.cc:2199
static int my_strnncollsp_utf32_bin(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
Definition: ctype-ucs2.cc:2239
static void my_hash_sort_utf32(const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
Definition: ctype-ucs2.cc:1706
static int my_strnncoll_utf32_bin(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:2207

◆ my_collation_utf32_general_ci_handler

MY_COLLATION_HANDLER my_collation_utf32_general_ci_handler
static
Initial value:
= {
nullptr,
nullptr,
static int my_strnncoll_utf32(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:1765
static int my_strnncollsp_utf32(const CHARSET_INFO *cs, const uchar *s, size_t slen, const uchar *t, size_t tlen)
Compare strings, discarding end space.
Definition: ctype-ucs2.cc:1821
static int my_wildcmp_utf32_ci(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)
Definition: ctype-ucs2.cc:2190
static size_t my_strnxfrmlen_utf32(const CHARSET_INFO *cs, size_t len)
Definition: ctype-ucs2.cc:1876

◆ to_lower_ucs2

const uchar to_lower_ucs2[]
static
Initial value:
= {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255}

◆ to_upper_ucs2

const uchar to_upper_ucs2[]
static
Initial value:
= {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255}