MySQL 8.4.2
Source Code Documentation
|
#include <algorithm>
#include <cassert>
#include <cerrno>
#include <climits>
#include <cstdarg>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <limits>
#include "m_string.h"
#include "my_compiler.h"
#include "my_sys.h"
#include "mysql/strings/dtoa.h"
#include "mysql/strings/m_ctype.h"
#include "mysql/strings/my_strtoll10.h"
#include "strings/m_ctype_internals.h"
#include "template_utils.h"
Classes | |
struct | uni_idx |
Macros | |
#define | likeconv(s, A) (uint8_t)(s)->sort_order[(uint8_t)(A)] |
#define | INC_PTR(cs, A, B) (A)++ |
#define | PLANE_SIZE 0x100 |
#define | PLANE_NUM 0x100 |
#define | PLANE_NUMBER(x) (((x) >> 8) % PLANE_NUM) |
Functions | |
static longlong | ulonglong_with_sign (bool negative, ulonglong ll) |
size_t | my_strnxfrmlen_simple (const CHARSET_INFO *cs, size_t len) |
size_t | my_strnxfrm_simple (const CHARSET_INFO *cs, uint8_t *dst, size_t dstlen, unsigned nweights, const uint8_t *src, size_t srclen, unsigned flags) |
int | my_strnncoll_simple (const CHARSET_INFO *cs, const uint8_t *s, size_t slen, const uint8_t *t, size_t tlen, bool t_is_prefix) |
int | my_strnncollsp_simple (const CHARSET_INFO *cs, const uint8_t *a, size_t a_length, const uint8_t *b, size_t b_length) |
size_t | my_caseup_str_8bit (const CHARSET_INFO *cs, char *str) |
size_t | my_casedn_str_8bit (const CHARSET_INFO *cs, char *str) |
size_t | my_caseup_8bit (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) |
size_t | my_casedn_8bit (const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) |
int | my_strcasecmp_8bit (const CHARSET_INFO *cs, const char *s, const char *t) |
int | my_mb_wc_8bit (const CHARSET_INFO *cs, my_wc_t *wc, const uint8_t *str, const uint8_t *end) |
int | my_wc_mb_8bit (const CHARSET_INFO *cs, my_wc_t wc, uint8_t *str, uint8_t *end) |
size_t | my_snprintf_8bit (const CHARSET_INFO *cs, char *to, size_t n, const char *fmt,...) |
void | my_hash_sort_simple (const CHARSET_INFO *cs, const uint8_t *key, size_t len, uint64_t *nr1, uint64_t *nr2) |
long | my_strntol_8bit (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err) |
unsigned long | my_strntoul_8bit (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err) |
long long | my_strntoll_8bit (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err) |
unsigned long long | my_strntoull_8bit (const CHARSET_INFO *cs, const char *nptr, size_t l, int base, const char **endptr, int *err) |
double | my_strntod_8bit (const CHARSET_INFO *cs, const char *str, size_t length, const char **end, int *err) |
size_t | my_long10_to_str_8bit (const CHARSET_INFO *cs, char *dst, size_t len, int radix, long int val) |
size_t | my_longlong10_to_str_8bit (const CHARSET_INFO *cs, char *dst, size_t len, int radix, long long val) |
static int | my_wildcmp_8bit_impl (const CHARSET_INFO *cs, const char *str, const char *str_end, const char *wildstr_arg, const char *wildend_arg, int escape, int w_one, int w_many, int recurse_level) |
int | my_wildcmp_8bit (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) |
bool | my_like_range_simple (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) |
size_t | my_scan_8bit (const CHARSET_INFO *cs, const char *str, const char *end, int sq) |
void | my_fill_8bit (const CHARSET_INFO *cs, char *s, size_t l, int fill) |
size_t | my_numchars_8bit (const CHARSET_INFO *cs, const char *b, const char *e) |
size_t | my_numcells_8bit (const CHARSET_INFO *cs, const char *b, const char *e) |
size_t | my_charpos_8bit (const CHARSET_INFO *cs, const char *b, const char *e, size_t pos) |
size_t | my_well_formed_len_8bit (const CHARSET_INFO *cs, const char *start, const char *end, size_t nchars, int *error) |
size_t | my_lengthsp_8bit (const CHARSET_INFO *cs, const char *ptr, size_t length) |
unsigned | my_instr_simple (const CHARSET_INFO *cs, const char *b, size_t b_length, const char *s, size_t s_length, my_match_t *match, unsigned nmatch) |
static size_t | my_well_formed_len_ascii (const CHARSET_INFO *cs, const char *start, const char *end, size_t nchars, int *error) |
static int | pcmp (const void *f, const void *s) |
static bool | create_fromuni (CHARSET_INFO *cs, MY_CHARSET_LOADER *loader) |
static bool | my_cset_init_8bit (CHARSET_INFO *cs, MY_CHARSET_LOADER *loader, MY_CHARSET_ERRMSG *) |
static void | set_max_sort_char (CHARSET_INFO *cs) |
static bool | my_coll_init_simple (CHARSET_INFO *cs, MY_CHARSET_LOADER *, MY_CHARSET_ERRMSG *) |
long long | my_strtoll10_8bit (const CHARSET_INFO *cs, const char *nptr, const char **endptr, int *error) |
int | my_mb_ctype_8bit (const CHARSET_INFO *cs, int *ctype, const uint8_t *s, const uint8_t *e) |
unsigned long long | my_strntoull10rnd_8bit (const CHARSET_INFO *cs, const char *str, size_t length, int unsigned_flag, const char **endptr, int *error) |
bool | my_propagate_simple (const CHARSET_INFO *cs, const uint8_t *str, size_t length) |
bool | my_propagate_complex (const CHARSET_INFO *cs, const uint8_t *str, size_t length) |
unsigned | my_strxfrm_flag_normalize (unsigned flags) |
size_t | my_strxfrm_pad (const CHARSET_INFO *cs, uint8_t *str, uint8_t *frmend, uint8_t *strend, unsigned nweights, unsigned flags) |
Variables | |
constexpr const uint64_t | CUTOFF {ULLONG_MAX / 10} |
constexpr const uint64_t | CUTLIM {ULLONG_MAX % 10} |
constexpr const int | DIGITS_IN_ULONGLONG {20} |
static unsigned long long | d10 [DIGITS_IN_ULONGLONG] |
MY_CHARSET_HANDLER | my_charset_8bit_handler |
MY_CHARSET_HANDLER | my_charset_ascii_handler |
MY_COLLATION_HANDLER | my_collation_8bit_simple_ci_handler |
#define INC_PTR | ( | cs, | |
A, | |||
B | |||
) | (A)++ |
#define likeconv | ( | s, | |
A | |||
) | (uint8_t)(s)->sort_order[(uint8_t)(A)] |
#define PLANE_NUM 0x100 |
#define PLANE_NUMBER | ( | x | ) | (((x) >> 8) % PLANE_NUM) |
#define PLANE_SIZE 0x100 |
|
static |
size_t my_casedn_8bit | ( | const CHARSET_INFO * | cs, |
char * | src, | ||
size_t | srclen, | ||
char * | dst, | ||
size_t | dstlen | ||
) |
size_t my_casedn_str_8bit | ( | const CHARSET_INFO * | cs, |
char * | str | ||
) |
size_t my_caseup_8bit | ( | const CHARSET_INFO * | cs, |
char * | src, | ||
size_t | srclen, | ||
char * | dst, | ||
size_t | dstlen | ||
) |
size_t my_caseup_str_8bit | ( | const CHARSET_INFO * | cs, |
char * | str | ||
) |
size_t my_charpos_8bit | ( | const CHARSET_INFO * | cs, |
const char * | b, | ||
const char * | e, | ||
size_t | pos | ||
) |
|
static |
|
static |
void my_fill_8bit | ( | const CHARSET_INFO * | cs, |
char * | s, | ||
size_t | l, | ||
int | fill | ||
) |
void my_hash_sort_simple | ( | const CHARSET_INFO * | cs, |
const uint8_t * | key, | ||
size_t | len, | ||
uint64_t * | nr1, | ||
uint64_t * | nr2 | ||
) |
unsigned my_instr_simple | ( | const CHARSET_INFO * | cs, |
const char * | b, | ||
size_t | b_length, | ||
const char * | s, | ||
size_t | s_length, | ||
my_match_t * | match, | ||
unsigned | nmatch | ||
) |
size_t my_lengthsp_8bit | ( | const CHARSET_INFO * | cs, |
const char * | ptr, | ||
size_t | length | ||
) |
bool my_like_range_simple | ( | 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 | ||
) |
size_t my_long10_to_str_8bit | ( | const CHARSET_INFO * | cs, |
char * | dst, | ||
size_t | len, | ||
int | radix, | ||
long int | val | ||
) |
size_t my_longlong10_to_str_8bit | ( | const CHARSET_INFO * | cs, |
char * | dst, | ||
size_t | len, | ||
int | radix, | ||
long long | val | ||
) |
int my_mb_ctype_8bit | ( | const CHARSET_INFO * | cs, |
int * | ctype, | ||
const uint8_t * | s, | ||
const uint8_t * | e | ||
) |
int my_mb_wc_8bit | ( | const CHARSET_INFO * | cs, |
my_wc_t * | wc, | ||
const uint8_t * | str, | ||
const uint8_t * | end | ||
) |
size_t my_numcells_8bit | ( | const CHARSET_INFO * | cs, |
const char * | b, | ||
const char * | e | ||
) |
size_t my_numchars_8bit | ( | const CHARSET_INFO * | cs, |
const char * | b, | ||
const char * | e | ||
) |
bool my_propagate_complex | ( | const CHARSET_INFO * | cs, |
const uint8_t * | str, | ||
size_t | length | ||
) |
bool my_propagate_simple | ( | const CHARSET_INFO * | cs, |
const uint8_t * | str, | ||
size_t | length | ||
) |
size_t my_scan_8bit | ( | const CHARSET_INFO * | cs, |
const char * | str, | ||
const char * | end, | ||
int | sq | ||
) |
size_t my_snprintf_8bit | ( | const CHARSET_INFO * | cs, |
char * | to, | ||
size_t | n, | ||
const char * | fmt, | ||
... | |||
) |
int my_strcasecmp_8bit | ( | const CHARSET_INFO * | cs, |
const char * | s, | ||
const char * | t | ||
) |
int my_strnncoll_simple | ( | const CHARSET_INFO * | cs, |
const uint8_t * | s, | ||
size_t | slen, | ||
const uint8_t * | t, | ||
size_t | tlen, | ||
bool | t_is_prefix | ||
) |
int my_strnncollsp_simple | ( | const CHARSET_INFO * | cs, |
const uint8_t * | a, | ||
size_t | a_length, | ||
const uint8_t * | b, | ||
size_t | b_length | ||
) |
double my_strntod_8bit | ( | const CHARSET_INFO * | cs, |
const char * | str, | ||
size_t | length, | ||
const char ** | end, | ||
int * | err | ||
) |
long my_strntol_8bit | ( | const CHARSET_INFO * | cs, |
const char * | nptr, | ||
size_t | l, | ||
int | base, | ||
const char ** | endptr, | ||
int * | err | ||
) |
long long my_strntoll_8bit | ( | const CHARSET_INFO * | cs, |
const char * | nptr, | ||
size_t | l, | ||
int | base, | ||
const char ** | endptr, | ||
int * | err | ||
) |
unsigned long my_strntoul_8bit | ( | const CHARSET_INFO * | cs, |
const char * | nptr, | ||
size_t | l, | ||
int | base, | ||
const char ** | endptr, | ||
int * | err | ||
) |
unsigned long long my_strntoull10rnd_8bit | ( | const CHARSET_INFO * | cs, |
const char * | str, | ||
size_t | length, | ||
int | unsigned_flag, | ||
const char ** | endptr, | ||
int * | error | ||
) |
unsigned long long my_strntoull_8bit | ( | const CHARSET_INFO * | cs, |
const char * | nptr, | ||
size_t | l, | ||
int | base, | ||
const char ** | endptr, | ||
int * | err | ||
) |
size_t my_strnxfrm_simple | ( | const CHARSET_INFO * | cs, |
uint8_t * | dst, | ||
size_t | dstlen, | ||
unsigned | nweights, | ||
const uint8_t * | src, | ||
size_t | srclen, | ||
unsigned | flags | ||
) |
size_t my_strnxfrmlen_simple | ( | const CHARSET_INFO * | cs, |
size_t | len | ||
) |
long long my_strtoll10_8bit | ( | const CHARSET_INFO * | cs, |
const char * | nptr, | ||
const char ** | endptr, | ||
int * | error | ||
) |
unsigned my_strxfrm_flag_normalize | ( | unsigned | flags | ) |
size_t my_strxfrm_pad | ( | const CHARSET_INFO * | cs, |
uint8_t * | str, | ||
uint8_t * | frmend, | ||
uint8_t * | strend, | ||
unsigned | nweights, | ||
unsigned | flags | ||
) |
int my_wc_mb_8bit | ( | const CHARSET_INFO * | cs, |
my_wc_t | wc, | ||
uint8_t * | str, | ||
uint8_t * | end | ||
) |
size_t my_well_formed_len_8bit | ( | const CHARSET_INFO * | cs, |
const char * | start, | ||
const char * | end, | ||
size_t | nchars, | ||
int * | error | ||
) |
|
static |
int my_wildcmp_8bit | ( | 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 |
|
static |
|
static |
|
constexpr |
|
constexpr |
|
static |
|
constexpr |
MY_CHARSET_HANDLER my_charset_8bit_handler |
MY_CHARSET_HANDLER my_charset_ascii_handler |
MY_COLLATION_HANDLER my_collation_8bit_simple_ci_handler |