MySQL 8.4.0
Source Code Documentation
ctype-ucs2.cc File Reference
#include <algorithm>
#include <cassert>
#include <cerrno>
#include <climits>
#include <cstdarg>
#include <cstdint>
#include <cstring>
#include <limits>
#include "my_byteorder.h"
#include "my_compiler.h"
#include "my_sys.h"
#include "mysql/strings/dtoa.h"
#include "mysql/strings/int2str.h"
#include "mysql/strings/m_ctype.h"
#include "strings/m_ctype_internals.h"
#include "template_utils.h"

Macros

#define EILSEQ   ENOENT
 
#define ULONGLONG_MAX   (~(unsigned long long)0)
 
#define MAX_NEGATIVE_NUMBER   ((unsigned long long)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)   ((((uint8_t)(x)) & 0xFC) == 0xD8)
 
#define MY_UTF16_LOW_HEAD(x)   ((((uint8_t)(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 long long ulonglong_with_sign (bool negative, unsigned long long ll)
 
static int my_bincmp (const uint8_t *s, const uint8_t *se, const uint8_t *t, const uint8_t *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 unsigned long my_strntoul_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
 
static long long my_strntoll_mb2_or_mb4 (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err)
 
static unsigned long long 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 unsigned long long 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, long long val)
 
static long long 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 uint8_t *s, const uint8_t *e)
 
static int my_uni_utf16 (const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *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 uint8_t *s, size_t slen, uint64_t *n1, uint64_t *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 uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_utf16 (const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
 Compare strings, discarding end space. More...
 
static unsigned my_ismbchar_utf16 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static unsigned my_mbcharlen_utf16 (const CHARSET_INFO *cs, unsigned 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 uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_utf16_bin (const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
 
static void my_hash_sort_utf16_bin (const CHARSET_INFO *cs, const uint8_t *pos, size_t len, uint64_t *nr1, uint64_t *nr2)
 
static int my_utf16le_uni (const CHARSET_INFO *cs, my_wc_t *pwc, const uint8_t *s, const uint8_t *e)
 
static int my_uni_utf16le (const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *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 uint8_t *s, const uint8_t *e)
 
static int my_uni_utf32 (const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *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 uint8_t *s, size_t slen, uint64_t *n1, uint64_t *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 uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_utf32 (const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
 Compare strings, discarding end space. More...
 
static size_t my_strnxfrmlen_utf32 (const CHARSET_INFO *cs, size_t len)
 
static unsigned my_ismbchar_utf32 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static unsigned my_mbcharlen_utf32 (const CHARSET_INFO *cs, unsigned 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 long long 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 uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
 
static my_wc_t my_utf32_get (const uint8_t *s)
 
static int my_strnncollsp_utf32_bin (const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *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 uint8_t *s, const uint8_t *e)
 
static int my_uni_ucs2 (const CHARSET_INFO *cs, my_wc_t wc, uint8_t *r, uint8_t *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 uint8_t *s, size_t slen, uint64_t *n1, uint64_t *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 uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_ucs2 (const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
 
static unsigned my_ismbchar_ucs2 (const CHARSET_INFO *cs, const char *b, const char *e)
 
static unsigned my_mbcharlen_ucs2 (const CHARSET_INFO *cs, unsigned 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 uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
 
static int my_strnncollsp_ucs2_bin (const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
 
static void my_hash_sort_ucs2_bin (const CHARSET_INFO *cs, const uint8_t *key, size_t len, uint64_t *nr1, uint64_t *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 uint8_t ctype_ucs2 []
 
static const uint8_t to_lower_ucs2 []
 
static const uint8_t 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   ((unsigned long long)0x8000000000000000LL)

◆ MY_UTF16_HIGH_HEAD

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

◆ MY_UTF16_LOW_HEAD

#define MY_UTF16_LOW_HEAD (   x)    ((((uint8_t)(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   (~(unsigned long long)0)

Function Documentation

◆ my_bincmp()

static int my_bincmp ( const uint8_t *  s,
const uint8_t *  se,
const uint8_t *  t,
const uint8_t *  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 uint8_t *  s,
size_t  slen,
uint64_t *  n1,
uint64_t *  n2 
)
static

◆ my_hash_sort_ucs2_bin()

static void my_hash_sort_ucs2_bin ( const CHARSET_INFO cs,
const uint8_t *  key,
size_t  len,
uint64_t *  nr1,
uint64_t *  nr2 
)
static

◆ my_hash_sort_utf16()

static void my_hash_sort_utf16 ( const CHARSET_INFO cs,
const uint8_t *  s,
size_t  slen,
uint64_t *  n1,
uint64_t *  n2 
)
static

◆ my_hash_sort_utf16_bin()

static void my_hash_sort_utf16_bin ( const CHARSET_INFO cs,
const uint8_t *  pos,
size_t  len,
uint64_t *  nr1,
uint64_t *  nr2 
)
static

◆ my_hash_sort_utf32()

static void my_hash_sort_utf32 ( const CHARSET_INFO cs,
const uint8_t *  s,
size_t  slen,
uint64_t *  n1,
uint64_t *  n2 
)
static

◆ my_ismbchar_ucs2()

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

◆ my_ismbchar_utf16()

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

◆ my_ismbchar_utf32()

static unsigned 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,
long long  val 
)
static

◆ my_mbcharlen_ucs2()

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

◆ my_mbcharlen_utf16()

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

◆ my_mbcharlen_utf32()

static unsigned my_mbcharlen_utf32 ( const CHARSET_INFO cs,
unsigned  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 uint8_t *  s,
size_t  slen,
const uint8_t *  t,
size_t  tlen,
bool  t_is_prefix 
)
static

◆ my_strnncoll_ucs2_bin()

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

◆ my_strnncoll_utf16()

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

◆ my_strnncoll_utf16_bin()

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

◆ my_strnncoll_utf32()

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

◆ my_strnncoll_utf32_bin()

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

◆ my_strnncollsp_ucs2()

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

◆ my_strnncollsp_ucs2_bin()

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

◆ my_strnncollsp_utf16()

static int my_strnncollsp_utf16 ( const CHARSET_INFO cs,
const uint8_t *  s,
size_t  slen,
const uint8_t *  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 uint8_t *  s,
size_t  slen,
const uint8_t *  t,
size_t  tlen 
)
static

◆ my_strnncollsp_utf32()

static int my_strnncollsp_utf32 ( const CHARSET_INFO cs,
const uint8_t *  s,
size_t  slen,
const uint8_t *  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 uint8_t *  s,
size_t  slen,
const uint8_t *  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 long long 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 unsigned long 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 unsigned long long 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 unsigned long long 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 long long my_strtoll10_mb2 ( const CHARSET_INFO cs,
const char *  nptr,
const char **  endptr,
int *  error 
)
static

◆ my_strtoll10_utf32()

static long long 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 uint8_t *  s,
const uint8_t *  e 
)
static

◆ my_uni_ucs2()

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

◆ my_uni_utf16()

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

◆ my_uni_utf16le()

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

◆ my_uni_utf32()

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

◆ my_utf16_uni()

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

◆ my_utf16le_uni()

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

◆ my_utf32_get()

static my_wc_t my_utf32_get ( const uint8_t *  s)
inlinestatic

◆ my_utf32_uni()

static int my_utf32_uni ( const CHARSET_INFO cs,
my_wc_t pwc,
const uint8_t *  s,
const uint8_t *  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 long long ulonglong_with_sign ( bool  negative,
unsigned long long  ll 
)
inlinestatic

Variable Documentation

◆ ctype_ucs2

const uint8_t 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,
int my_mb_ctype_mb(const CHARSET_INFO *cs, int *ctype, const uint8_t *s, const uint8_t *e)
Definition: ctype-mb.cc:1322
size_t my_numcells_mb(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-mb.cc:1290
static size_t my_casedn_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:2607
static int my_uni_ucs2(const CHARSET_INFO *cs, my_wc_t wc, uint8_t *r, uint8_t *e)
Definition: ctype-ucs2.cc:2527
static size_t my_snprintf_mb2(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:921
static unsigned my_mbcharlen_ucs2(const CHARSET_INFO *cs, unsigned c)
Definition: ctype-ucs2.cc:2738
static size_t my_ll10tostr_mb2_or_mb4(const CHARSET_INFO *cs, char *dst, size_t len, int radix, long long val)
Definition: ctype-ucs2.cc:578
static size_t my_scan_mb2(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:808
static size_t my_caseup_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:2561
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:533
static unsigned long long 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:503
static int my_ucs2_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uint8_t *s, const uint8_t *e)
Definition: ctype-ucs2.cc:2518
static void my_fill_ucs2(const CHARSET_INFO *cs, char *s, size_t l, int fill)
Definition: ctype-ucs2.cc:2628
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:2754
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:102
static unsigned my_ismbchar_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2732
static long long 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:289
static long long my_strtoll10_mb2(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:635
static unsigned long long 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:384
static size_t my_caseup_str_mb2_or_mb4(const CHARSET_INFO *cs, char *s)
Definition: ctype-ucs2.cc:83
static size_t my_casedn_str_mb2_or_mb4(const CHARSET_INFO *cs, char *s)
Definition: ctype-ucs2.cc:89
static size_t my_charpos_ucs2(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:2748
static size_t my_lengthsp_mb2(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:931
static size_t my_numchars_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2743
static unsigned long 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:198
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:475

◆ 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 unsigned my_ismbchar_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1219
static size_t my_charpos_utf16(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:1244
static int my_uni_utf16(const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *e)
Definition: ctype-ucs2.cc:992
static void my_fill_mb2(const CHARSET_INFO *cs, char *s, size_t slen, int fill)
Definition: ctype-ucs2.cc:828
static unsigned my_mbcharlen_utf16(const CHARSET_INFO *cs, unsigned c)
Definition: ctype-ucs2.cc:1227
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:1256
static size_t my_casedn_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1085
static int my_utf16_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uint8_t *s, const uint8_t *e)
Definition: ctype-ucs2.cc:964
static size_t my_caseup_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1040
static size_t my_numchars_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1233

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

◆ 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:2196
static int my_utf32_uni(const CHARSET_INFO *cs, my_wc_t *pwc, const uint8_t *s, const uint8_t *e)
Definition: ctype-ucs2.cc:1672
static size_t my_charpos_utf32(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:2157
static size_t my_snprintf_utf32(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:2002
static size_t my_lengthsp_utf32(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:2216
static unsigned my_ismbchar_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1914
static size_t my_numchars_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2152
static long long my_strtoll10_utf32(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:2012
static size_t my_caseup_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1716
static size_t my_casedn_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1777
static unsigned my_mbcharlen_utf32(const CHARSET_INFO *cs, unsigned c)
Definition: ctype-ucs2.cc:1920
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:2166
static size_t my_scan_utf32(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:2310
static int my_uni_utf32(const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *e)
Definition: ctype-ucs2.cc:1679

◆ my_collation_ucs2_bin_handler

MY_COLLATION_HANDLER my_collation_ucs2_bin_handler
static
Initial value:
= {
nullptr,
nullptr,
unsigned my_instr_mb(const CHARSET_INFO *cs, const char *b, size_t b_length, const char *s, size_t s_length, my_match_t *match, unsigned nmatch)
Definition: ctype-mb.cc:357
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:806
bool my_propagate_simple(const CHARSET_INFO *cs, const uint8_t *str, size_t length)
Definition: ctype-simple.cc:1474
size_t my_strnxfrmlen_simple(const CHARSET_INFO *cs, size_t len)
Definition: ctype-simple.cc:62
static void my_hash_sort_ucs2_bin(const CHARSET_INFO *cs, const uint8_t *key, size_t len, uint64_t *nr1, uint64_t *nr2)
Definition: ctype-ucs2.cc:2843
static int my_strnncollsp_ucs2_bin(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
Definition: ctype-ucs2.cc:2807
static int my_strnncoll_ucs2_bin(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:2781
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:2773
static int my_strcasecmp_mb2_or_mb4(const CHARSET_INFO *cs, const char *s, const char *t)
Definition: ctype-ucs2.cc:95
size_t my_strnxfrm_unicode(const CHARSET_INFO *cs, uint8_t *dst, size_t dstlen, uint nweights, const uint8_t *src, size_t srclen, uint flags)
Definition: ctype-utf8.cc:5107

◆ my_collation_ucs2_general_ci_handler

MY_COLLATION_HANDLER my_collation_ucs2_general_ci_handler
static
Initial value:
= {
nullptr,
nullptr,
static int my_strnncoll_ucs2(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:2635
static void my_hash_sort_ucs2(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, uint64_t *n1, uint64_t *n2)
Definition: ctype-ucs2.cc:2582
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:2764
static int my_strnncollsp_ucs2(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
Definition: ctype-ucs2.cc:2693

◆ my_collation_utf16_bin_handler

MY_COLLATION_HANDLER my_collation_utf16_bin_handler
static
Initial value:
= {
nullptr,
nullptr,
static void my_hash_sort_utf16_bin(const CHARSET_INFO *cs, const uint8_t *pos, size_t len, uint64_t *nr1, uint64_t *nr2)
Definition: ctype-ucs2.cc:1368
static int my_strnncoll_utf16_bin(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:1289
static int my_strnncollsp_utf16_bin(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
Definition: ctype-ucs2.cc:1315
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:1281
size_t my_strnxfrm_unicode_full_bin(const CHARSET_INFO *cs, uint8_t *dst, size_t dstlen, uint nweights, const uint8_t *src, size_t srclen, uint flags)
Definition: ctype-utf8.cc:5128
size_t my_strnxfrmlen_unicode_full_bin(const CHARSET_INFO *cs, size_t len)
Definition: ctype-utf8.cc:5173

◆ my_collation_utf16_general_ci_handler

MY_COLLATION_HANDLER my_collation_utf16_general_ci_handler
static
Initial value:
= {
nullptr,
nullptr,
static int my_strnncoll_utf16(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:1106
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:1272
static void my_hash_sort_utf16(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, uint64_t *n1, uint64_t *n2)
Definition: ctype-ucs2.cc:1061
static int my_strnncollsp_utf16(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
Compare strings, discarding end space.
Definition: ctype-ucs2.cc:1163

◆ 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:2234
static int my_strnncollsp_utf32_bin(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
Definition: ctype-ucs2.cc:2274
static void my_hash_sort_utf32(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, uint64_t *n1, uint64_t *n2)
Definition: ctype-ucs2.cc:1737
static int my_strnncoll_utf32_bin(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:2242

◆ 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 uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix)
Definition: ctype-ucs2.cc:1797
static int my_strnncollsp_utf32(const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen)
Compare strings, discarding end space.
Definition: ctype-ucs2.cc:1853
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:2225
static size_t my_strnxfrmlen_utf32(const CHARSET_INFO *cs, size_t len)
Definition: ctype-ucs2.cc:1909

◆ to_lower_ucs2

const uint8_t 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 uint8_t 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}