MySQL 8.4.1
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:2606
static int my_uni_ucs2(const CHARSET_INFO *cs, my_wc_t wc, uint8_t *r, uint8_t *e)
Definition: ctype-ucs2.cc:2526
static size_t my_snprintf_mb2(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:920
static unsigned my_mbcharlen_ucs2(const CHARSET_INFO *cs, unsigned c)
Definition: ctype-ucs2.cc:2737
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:577
static size_t my_scan_mb2(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:807
static size_t my_caseup_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:2560
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:532
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:502
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:2517
static void my_fill_ucs2(const CHARSET_INFO *cs, char *s, size_t l, int fill)
Definition: ctype-ucs2.cc:2627
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:2753
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 unsigned my_ismbchar_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2731
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:288
static long long my_strtoll10_mb2(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:634
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:383
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:2747
static size_t my_lengthsp_mb2(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:930
static size_t my_numchars_ucs2(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2742
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:197
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:474

◆ 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:1218
static size_t my_charpos_utf16(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:1243
static int my_uni_utf16(const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *e)
Definition: ctype-ucs2.cc:991
static void my_fill_mb2(const CHARSET_INFO *cs, char *s, size_t slen, int fill)
Definition: ctype-ucs2.cc:827
static unsigned my_mbcharlen_utf16(const CHARSET_INFO *cs, unsigned c)
Definition: ctype-ucs2.cc:1226
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:1255
static size_t my_casedn_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1084
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:963
static size_t my_caseup_utf16(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1039
static size_t my_numchars_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1232

◆ 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:1540
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:1515
static size_t my_lengthsp_utf16le(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:1561

◆ 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:2195
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:1671
static size_t my_charpos_utf32(const CHARSET_INFO *cs, const char *b, const char *e, size_t pos)
Definition: ctype-ucs2.cc:2156
static size_t my_snprintf_utf32(const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...)
Definition: ctype-ucs2.cc:2001
static size_t my_lengthsp_utf32(const CHARSET_INFO *cs, const char *ptr, size_t length)
Definition: ctype-ucs2.cc:2215
static unsigned my_ismbchar_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:1913
static size_t my_numchars_utf32(const CHARSET_INFO *cs, const char *b, const char *e)
Definition: ctype-ucs2.cc:2151
static long long my_strtoll10_utf32(const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error)
Definition: ctype-ucs2.cc:2011
static size_t my_caseup_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1715
static size_t my_casedn_utf32(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen)
Definition: ctype-ucs2.cc:1776
static unsigned my_mbcharlen_utf32(const CHARSET_INFO *cs, unsigned c)
Definition: ctype-ucs2.cc:1919
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:2165
static size_t my_scan_utf32(const CHARSET_INFO *cs, const char *str, const char *end, int sequence_type)
Definition: ctype-ucs2.cc:2309
static int my_uni_utf32(const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *e)
Definition: ctype-ucs2.cc:1678

◆ 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:2842
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:2806
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:2780
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:2772
static int my_strcasecmp_mb2_or_mb4(const CHARSET_INFO *cs, const char *s, const char *t)
Definition: ctype-ucs2.cc:94
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:5106

◆ 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:2634
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:2581
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:2763
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:2692

◆ 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:1367
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:1288
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:1314
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:1280
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:5127
size_t my_strnxfrmlen_unicode_full_bin(const CHARSET_INFO *cs, size_t len)
Definition: ctype-utf8.cc:5172

◆ 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:1105
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:1271
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:1060
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:1162

◆ 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:2233
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:2273
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:1736
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:2241

◆ 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:1796
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:1852
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:2224
static size_t my_strnxfrmlen_utf32(const CHARSET_INFO *cs, size_t len)
Definition: ctype-ucs2.cc:1908

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