MySQL 8.0.37
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:2573
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:196
static int my_uni_ucs2(const CHARSET_INFO *cs, my_wc_t wc, uchar *r, uchar *e)
Definition: ctype-ucs2.cc:2494
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:381
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:286
static size_t my_snprintf_mb2(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:904
static size_t my_scan_mb2(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:791
static size_t my_caseup_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:2528
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:573
static int my_ucs2_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:2485
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:530
static void my_fill_ucs2(const CHARSET_INFO *cs, char *s, size_t l, int fill)
Definition: ctype-ucs2.cc:2591
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:2718
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:101
static size_t my_caseup_str_mb2_or_mb4(const CHARSET_INFO *cs, char *s)
Definition: ctype-ucs2.cc:82
static size_t my_casedn_str_mb2_or_mb4(const CHARSET_INFO *cs, char *s)
Definition: ctype-ucs2.cc:88
static size_t my_charpos_ucs2(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:2712
static size_t my_lengthsp_mb2(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:914
static uint my_mbcharlen_ucs2(const CHARSET_INFO *cs, uint c)
Definition: ctype-ucs2.cc:2702
static size_t my_numchars_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2707
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:471
static uint my_ismbchar_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2696
static longlong my_strtoll10_mb2(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:628
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:499
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:1219
static uint my_ismbchar_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1195
static void my_fill_mb2(const CHARSET_INFO *cs, char *s, size_t slen, int fill)
Definition: ctype-ucs2.cc:811
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:1231
static size_t my_casedn_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1066
static uint my_mbcharlen_utf16(const CHARSET_INFO *cs, uint c)
Definition: ctype-ucs2.cc:1202
static int my_uni_utf16(const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
Definition: ctype-ucs2.cc:975
static size_t my_caseup_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1023
static int my_utf16_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:947
static size_t my_numchars_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1208

◆ 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:1514
static int my_utf16le_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:1489
static size_t my_lengthsp_utf16le(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:1535

◆ 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:2162
static size_t my_charpos_utf32(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:2123
static int my_uni_utf32(const CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e)
Definition: ctype-ucs2.cc:1652
static size_t my_snprintf_utf32(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:1970
static longlong my_strtoll10_utf32(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:1980
static uint my_ismbchar_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1882
static size_t my_lengthsp_utf32(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:2182
static size_t my_numchars_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2118
static size_t my_caseup_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1689
static size_t my_casedn_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1749
static uint my_mbcharlen_utf32(const CHARSET_INFO *cs, uint c)
Definition: ctype-ucs2.cc:1888
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:2132
static size_t my_scan_utf32(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:2277
static int my_utf32_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uchar *s, const uchar *e)
Definition: ctype-ucs2.cc:1645

◆ 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:2771
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:2737
static int my_strcasecmp_mb2_or_mb4(const CHARSET_INFO *cs, const char *s, const char *t)
Definition: ctype-ucs2.cc:94
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:2808
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:2745
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:5105
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:2656
static void my_hash_sort_ucs2(const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
Definition: ctype-ucs2.cc:2546
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:2728
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:2598

◆ 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:1264
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:1340
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:1256
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:1290
size_t my_strnxfrmlen_unicode_full_bin(const CHARSET_INFO *, size_t)
Definition: ctype-utf8.cc:5171
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:5126

◆ 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:1041
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:1247
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:1141
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:1084

◆ 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:2200
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:2240
static void my_hash_sort_utf32(const CHARSET_INFO *cs, const uchar *s, size_t slen, uint64 *n1, uint64 *n2)
Definition: ctype-ucs2.cc:1707
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:2208

◆ 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:1766
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:1822
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:2191
static size_t my_strnxfrmlen_utf32(const CHARSET_INFO *cs, size_t len)
Definition: ctype-ucs2.cc:1877

◆ 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}