217
217
int64_t (*strntoll)(const charset_info_st*, const char *s, size_t l, int base, char **e, int *err);
218
218
uint64_t (*strntoull)(const charset_info_st*, const char *s, size_t l, int base, char **e, int *err);
219
219
double (*strntod)(const charset_info_st*, char *s, size_t l, char **e, int *err);
220
int64_t (*strtoll10)(const charset_info_st *cs, const char *nptr, char **endptr, int *error);
221
uint64_t (*strntoull10rnd)(const charset_info_st *cs, const char *str, size_t length, int unsigned_fl, char **endptr, int *error);
220
int64_t (*strtoll10)(const charset_info_st*, const char *nptr, char **endptr, int *error);
221
uint64_t (*strntoull10rnd)(const charset_info_st*, const char *str, size_t length, int unsigned_fl, char **endptr, int *error);
222
222
size_t (*scan)(const charset_info_st*, const char *b, const char *e, int sq);
348
348
extern DRIZZLED_API charset_info_st *all_charsets[256];
349
extern charset_info_st compiled_charsets[];
350
extern uint32_t get_charset_number(const char *cs_name, uint32_t cs_flags);
351
extern uint32_t get_collation_number(const char *name);
352
extern const char *get_charset_name(uint32_t cs_number);
353
extern bool resolve_charset(const char *cs_name, const charset_info_st *default_cs, const charset_info_st **cs);
354
extern bool resolve_collation(const char *cl_name, const charset_info_st *default_cl, const charset_info_st **cl);
355
extern void free_charsets();
356
extern char *get_charsets_dir(char *buf);
357
extern bool my_charset_same(const charset_info_st *cs1, const charset_info_st *cs2);
358
extern size_t escape_string_for_drizzle(const charset_info_st *charset_info, char *to, size_t to_length, const char *from, size_t length);
359
extern size_t escape_quotes_for_drizzle(const charset_info_st *charset_info, char *to, size_t to_length, const char *from, size_t length);
349
uint32_t get_charset_number(const char *cs_name, uint32_t cs_flags);
350
uint32_t get_collation_number(const char *name);
351
const char *get_charset_name(uint32_t cs_number);
352
void free_charsets();
353
bool my_charset_same(const charset_info_st*, const charset_info_st*);
354
size_t escape_string_for_drizzle(const charset_info_st *charset_info, char *to, size_t to_length, const char *from, size_t length);
355
size_t escape_quotes_for_drizzle(const charset_info_st *charset_info, char *to, size_t to_length, const char *from, size_t length);
360
356
extern DRIZZLED_API const charset_info_st *default_charset_info;
361
357
extern DRIZZLED_API const charset_info_st *system_charset_info;
362
358
extern const charset_info_st *files_charset_info;
369
365
extern DRIZZLED_API charset_info_st my_charset_utf8mb4_general_ci;
370
366
extern DRIZZLED_API charset_info_st my_charset_utf8mb4_unicode_ci;
371
367
size_t my_strnxfrmlen_simple(const charset_info_st*, size_t);
372
extern int my_strnncollsp_simple(const charset_info_st*, const unsigned char*, size_t, const unsigned char*, size_t, bool diff_if_only_endspace_difference);
373
extern size_t my_lengthsp_8bit(const charset_info_st*, const char *ptr, size_t length);
374
extern uint32_t my_instr_simple(const charset_info_st*, const char *b, size_t b_length, const char *s, size_t s_length, my_match_t *match, uint32_t nmatch);
375
extern MY_CHARSET_HANDLER my_charset_8bit_handler;
376
extern int my_strcasecmp_mb(const charset_info_st* cs, const char *s, const char *t);
377
extern bool my_parse_charset_xml(const char *bug, size_t len, int (*add)(charset_info_st *cs));
368
int my_strnncollsp_simple(const charset_info_st*, const unsigned char*, size_t, const unsigned char*, size_t, bool diff_if_only_endspace_difference);
369
size_t my_lengthsp_8bit(const charset_info_st*, const char *ptr, size_t length);
370
uint32_t my_instr_simple(const charset_info_st*, const char *b, size_t b_length, const char *s, size_t s_length, my_match_t *match, uint32_t nmatch);
371
int my_strcasecmp_mb(const charset_info_st*, const char *s, const char *t);
379
373
DRIZZLED_API const charset_info_st *get_charset(uint32_t cs_number);
380
374
DRIZZLED_API const charset_info_st *get_charset_by_name(const char *cs_name);
381
375
DRIZZLED_API const charset_info_st *get_charset_by_csname(const char *cs_name, uint32_t cs_flags);
383
377
/* Functions for 8bit */
384
int my_mb_ctype_8bit(const charset_info_st*,int *, const unsigned char*,const unsigned char *);
385
int my_mb_ctype_mb(const charset_info_st*,int *, const unsigned char*,const unsigned char *);
378
int my_mb_ctype_8bit(const charset_info_st*, int*, const unsigned char*, const unsigned char *);
379
int my_mb_ctype_mb(const charset_info_st*, int*, const unsigned char*, const unsigned char *);
387
381
size_t my_scan_8bit(const charset_info_st*, const char *b, const char *e, int sq);
388
382
size_t my_snprintf_8bit(const charset_info_st*, char *to, size_t n, const char *fmt, ...) __attribute__((format(printf, 4, 5)));
507
501
- 0 is the strings are equal
509
503
int my_wc_mb_filename(const charset_info_st*, my_wc_t wc, unsigned char *s, unsigned char *e);
511
504
int my_mb_wc_filename(const charset_info_st*, my_wc_t *pwc, const unsigned char *s, const unsigned char *e);
513
int my_strnncoll_any_uca(const charset_info_st*,
514
const unsigned char *s, size_t slen,
515
const unsigned char *t, size_t tlen,
518
int my_strnncollsp_any_uca(const charset_info_st*,
519
const unsigned char *s, size_t slen,
520
const unsigned char *t, size_t tlen,
521
bool diff_if_only_endspace_difference);
523
void my_hash_sort_any_uca(const charset_info_st*,
524
const unsigned char *s, size_t slen,
525
uint32_t *n1, uint32_t *n2);
527
size_t my_strnxfrm_any_uca(const charset_info_st*,
528
unsigned char *dst, size_t dstlen, uint32_t nweights,
529
const unsigned char *src, size_t srclen,
532
int my_wildcmp_uca(const charset_info_st*,
533
const char *str,const char *str_end,
534
const char *wildstr,const char *wildend,
535
int escape, int w_one, int w_many);
537
506
int my_strnncoll_8bit_bin(const charset_info_st*,
538
507
const unsigned char *s, size_t slen,
539
508
const unsigned char *t, size_t tlen,