diff options
30 files changed, 386 insertions, 245 deletions
diff --git a/include/my_sys.h b/include/my_sys.h index 29d019d96b8..3acc1487f95 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -1049,9 +1049,13 @@ extern my_bool resolve_collation(const char *cl_name, CHARSET_INFO **cl); extern void free_charsets(void); extern char *get_charsets_dir(char *buf); -extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2); +static inline my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2) +{ + return (cs1->csname == cs2->csname); +} extern my_bool init_compiled_charsets(myf flags); extern void add_compiled_collation(struct charset_info_st *cs); +extern void add_compiled_extra_collation(struct charset_info_st *cs); extern size_t escape_string_for_mysql(CHARSET_INFO *charset_info, char *to, size_t to_length, const char *from, size_t length); diff --git a/include/mysys_err.h b/include/mysys_err.h index 08463c9fedb..e0e97d0284a 100644 --- a/include/mysys_err.h +++ b/include/mysys_err.h @@ -72,7 +72,8 @@ extern const char *globerrs[]; /* my_error_messages is here */ #define EE_BADMEMORYRELEASE 36 #define EE_PERM_LOCK_MEMORY 37 #define EE_MEMCNTL 38 -#define EE_ERROR_LAST 38 /* Copy last error nr */ +#define EE_DUPLICATE_CHARSET 39 +#define EE_ERROR_LAST 39 /* Copy last error nr */ /* Add error numbers before EE_ERROR_LAST and change it accordingly. */ diff --git a/mysql-test/main/ctype_ldml.result b/mysql-test/main/ctype_ldml.result index 3ce50331ed0..22b7a316111 100644 --- a/mysql-test/main/ctype_ldml.result +++ b/mysql-test/main/ctype_ldml.result @@ -447,7 +447,7 @@ Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 set names latin1; show collation like 'latin1_test'; Collation Charset Id Default Compiled Sortlen -latin1_test latin1 99 Yes 1 +latin1_test latin1 331 1 select "foo" = "foo " collate latin1_test; "foo" = "foo " collate latin1_test 1 @@ -466,6 +466,7 @@ utf8mb4_test_ci utf8mb4 326 8 utf16_test_ci utf16 327 8 utf8mb4_test_400_ci utf8mb4 328 8 utf8mb4_test_520_nopad_ci utf8mb4 329 8 +latin1_test latin1 331 1 latin1_test2 latin1 332 1 latin1_test2_cs latin1 333 1 latin1_swedish_nopad2_ci latin1 334 1 @@ -490,7 +491,7 @@ utf32_test_ci utf32 391 8 utf8_maxuserid_ci utf8 2047 8 show collation like '%test%'; Collation Charset Id Default Compiled Sortlen -latin1_test latin1 99 Yes 1 +latin1_test latin1 331 1 latin1_test2 latin1 332 1 latin1_test2_cs latin1 333 1 utf8_test_ci utf8 353 8 @@ -3034,3 +3035,10 @@ SELECT 'chž'< 'i'; 1 SELECT 'a' COLLATE utf8_czech_test_bad_w2; ERROR HY000: Unknown collation: 'utf8_czech_test_bad_w2' +# +# MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO +# +SHOW COLLATION LIKE 'latin1_test_replace'; +Collation Charset Id Default Compiled Sortlen +SELECT 'foo' = 'foo ' COLLATE latin1_test_replace; +ERROR HY000: Unknown collation: 'latin1_test_replace' diff --git a/mysql-test/main/ctype_ldml.test b/mysql-test/main/ctype_ldml.test index a6cba4b9780..8baabdf2bcb 100644 --- a/mysql-test/main/ctype_ldml.test +++ b/mysql-test/main/ctype_ldml.test @@ -3,6 +3,10 @@ --source include/have_utf16.inc --source include/have_utf32.inc +--disable_query_log +call mtr.add_suppression("Charset id.*trying to replace"); +--enable_query_log + --disable_warnings drop table if exists t1; --enable_warnings @@ -602,3 +606,12 @@ SELECT 'chž'< 'i'; --error ER_UNKNOWN_COLLATION SELECT 'a' COLLATE utf8_czech_test_bad_w2; + + +--echo # +--echo # MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO +--echo # + +SHOW COLLATION LIKE 'latin1_test_replace'; +--error ER_UNKNOWN_COLLATION +SELECT 'foo' = 'foo ' COLLATE latin1_test_replace; diff --git a/mysql-test/std_data/ldml/Index.xml b/mysql-test/std_data/ldml/Index.xml index 0435b2ab689..c4b91535af6 100644 --- a/mysql-test/std_data/ldml/Index.xml +++ b/mysql-test/std_data/ldml/Index.xml @@ -362,7 +362,14 @@ <alias>iso_8859-1:1987</alias> <alias>l1</alias> <alias>latin1</alias> - <collation name="latin1_test" id="99" order="test"/> + <!-- + The server rejects binding an existing built-in collation + to a different character set through Index.xml. + This example tries to override cp1250_polish_ci with id 99 + and bind it to latin1: + --> + <collation name="latin1_test_replace" id="99"/> + <collation name="latin1_test" id="331" order="test"/> <collation name="latin1_test2" id="332" order="test"/> <collation name="latin1_test2_cs" id="333"/> <collation name="latin1_swedish_nopad2_ci" id="334" flag="nopad"> diff --git a/mysql-test/suite/innodb/r/innodb_ctype_ldml.result b/mysql-test/suite/innodb/r/innodb_ctype_ldml.result index 1f3b271941d..502f57156c3 100644 --- a/mysql-test/suite/innodb/r/innodb_ctype_ldml.result +++ b/mysql-test/suite/innodb/r/innodb_ctype_ldml.result @@ -383,7 +383,7 @@ Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 set names latin1; show collation like 'latin1_test'; Collation Charset Id Default Compiled Sortlen -latin1_test latin1 99 Yes 1 +latin1_test latin1 331 1 select "foo" = "foo " collate latin1_test; "foo" = "foo " collate latin1_test 1 @@ -402,6 +402,7 @@ utf8mb4_test_ci utf8mb4 326 8 utf16_test_ci utf16 327 8 utf8mb4_test_400_ci utf8mb4 328 8 utf8mb4_test_520_nopad_ci utf8mb4 329 8 +latin1_test latin1 331 1 latin1_test2 latin1 332 1 latin1_test2_cs latin1 333 1 latin1_swedish_nopad2_ci latin1 334 1 @@ -426,7 +427,7 @@ utf32_test_ci utf32 391 8 utf8_maxuserid_ci utf8 2047 8 show collation like '%test%'; Collation Charset Id Default Compiled Sortlen -latin1_test latin1 99 Yes 1 +latin1_test latin1 331 1 latin1_test2 latin1 332 1 latin1_test2_cs latin1 333 1 utf8_test_ci utf8 353 8 diff --git a/mysql-test/suite/innodb/t/innodb_ctype_ldml.test b/mysql-test/suite/innodb/t/innodb_ctype_ldml.test index 26af717b15a..f065c51505b 100644 --- a/mysql-test/suite/innodb/t/innodb_ctype_ldml.test +++ b/mysql-test/suite/innodb/t/innodb_ctype_ldml.test @@ -13,6 +13,7 @@ drop table if exists t1; --disable_query_log call mtr.add_suppression("Syntax error at '\\[strength tertiary\\]'"); call mtr.add_suppression("Can't reset before a primary ignorable character U\\+A48C"); +call mtr.add_suppression("Charset id.*trying to replace"); --enable_query_log --echo In the following tests we change the order of letter "b" diff --git a/mysys/charset-def.c b/mysys/charset-def.c index 249fb1b5e4d..259b7af9a60 100644 --- a/mysys/charset-def.c +++ b/mysys/charset-def.c @@ -469,7 +469,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused))) /* Copy compiled charsets */ for (cs=compiled_charsets; cs->name; cs++) - add_compiled_collation((struct charset_info_st *) cs); + add_compiled_extra_collation((struct charset_info_st *) cs); return FALSE; } diff --git a/mysys/charset.c b/mysys/charset.c index 5e999c8435d..32cfeb56e2d 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -20,6 +20,7 @@ #include <m_ctype.h> #include <m_string.h> #include <my_dir.h> +#include <hash.h> #include <my_xml.h> #ifdef HAVE_LANGINFO_H #include <langinfo.h> @@ -28,6 +29,8 @@ #include <locale.h> #endif +extern HASH charset_name_hash; + /* The code below implements this functionality: @@ -38,15 +41,10 @@ - Setting server default character set */ -my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2) -{ - return ((cs1 == cs2) || !strcmp(cs1->csname,cs2->csname)); -} - - static uint get_collation_number_internal(const char *name) { + CHARSET_INFO **cs; for (cs= all_charsets; cs < all_charsets + array_elements(all_charsets); @@ -72,11 +70,10 @@ static my_bool init_state_maps(struct charset_info_st *cs) uchar *state_map; uchar *ident_map; - if (!(cs->state_map= state_map= (uchar*) my_once_alloc(256, MYF(MY_WME)))) + if (!(cs->state_map= state_map= (uchar*) my_once_alloc(256*2, MYF(MY_WME)))) return 1; - if (!(cs->ident_map= ident_map= (uchar*) my_once_alloc(256, MYF(MY_WME)))) - return 1; + cs->ident_map= ident_map= state_map + 256; /* Fill state_map with states to get a faster parser */ for (i=0; i < 256 ; i++) @@ -153,7 +150,8 @@ static int cs_copy_data(struct charset_info_st *to, CHARSET_INFO *from) { to->number= from->number ? from->number : to->number; - if (from->csname) + /* Don't replace csname if already set */ + if (from->csname && !to->csname) if (!(to->csname= my_once_strdup(from->csname,MYF(MY_WME)))) goto err; @@ -322,7 +320,21 @@ static int add_collation(struct charset_info_st *cs) return MY_XML_ERROR; bzero(newcs,sizeof(CHARSET_INFO)); } - + else + { + /* Don't allow change of csname */ + if (newcs->csname && strcmp(newcs->csname, cs->csname)) + { + my_error(EE_DUPLICATE_CHARSET, MYF(ME_WARNING), + cs->number, cs->csname, newcs->csname); + /* + Continue parsing rest of Index.xml. We got an warning in the log + so the user can fix the wrong character set definition. + */ + return MY_XML_OK; + } + } + if (cs->primary_number == cs->number) cs->state |= MY_CS_PRIMARY; @@ -402,8 +414,8 @@ static int add_collation(struct charset_info_st *cs) { newcs->state |= MY_CS_LOADED; } - newcs->state|= MY_CS_AVAILABLE; } + add_compiled_extra_collation(newcs); } else { @@ -420,7 +432,7 @@ static int add_collation(struct charset_info_st *cs) if (cs->comment) if (!(newcs->comment= my_once_strdup(cs->comment,MYF(MY_WME)))) return MY_XML_ERROR; - if (cs->csname) + if (cs->csname && ! newcs->csname) if (!(newcs->csname= my_once_strdup(cs->csname,MYF(MY_WME)))) return MY_XML_ERROR; if (cs->name) @@ -557,14 +569,55 @@ char *get_charsets_dir(char *buf) CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]={NULL}; CHARSET_INFO *default_charset_info = &my_charset_latin1; + +/* + Add standard character set compiled into the application + All related character sets should share same cname +*/ + void add_compiled_collation(struct charset_info_st *cs) { DBUG_ASSERT(cs->number < array_elements(all_charsets)); all_charsets[cs->number]= cs; cs->state|= MY_CS_AVAILABLE; + if ((my_hash_insert(&charset_name_hash, (uchar*) cs))) + { +#ifndef DBUG_OFF + CHARSET_INFO *org= (CHARSET_INFO*) my_hash_search(&charset_name_hash, + (uchar*) cs->csname, + strlen(cs->csname)); + DBUG_ASSERT(org); + DBUG_ASSERT(org->csname == cs->csname); +#endif + } } +/* + Add optional characters sets from ctype-extra.c + + If cname is already in use, replace csname in new object with a pointer to + the already used csname to ensure that all csname's points to the same string + for the same character set. +*/ + + +void add_compiled_extra_collation(struct charset_info_st *cs) +{ + DBUG_ASSERT(cs->number < array_elements(all_charsets)); + all_charsets[cs->number]= cs; + cs->state|= MY_CS_AVAILABLE; + if ((my_hash_insert(&charset_name_hash, (uchar*) cs))) + { + CHARSET_INFO *org= (CHARSET_INFO*) my_hash_search(&charset_name_hash, + (uchar*) cs->csname, + strlen(cs->csname)); + cs->csname= org->csname; + } +} + + + static my_pthread_once_t charsets_initialized= MY_PTHREAD_ONCE_INIT; static my_pthread_once_t charsets_template= MY_PTHREAD_ONCE_INIT; @@ -612,14 +665,31 @@ const char *my_collation_get_tailoring(uint id) } +HASH charset_name_hash; + +static uchar *get_charset_key(const uchar *object, + size_t *size, + my_bool not_used __attribute__((unused))) +{ + CHARSET_INFO *cs= (CHARSET_INFO*) object; + *size= strlen(cs->csname); + return (uchar*) cs->csname; +} + static void init_available_charsets(void) { char fname[FN_REFLEN + sizeof(MY_CHARSET_INDEX)]; struct charset_info_st **cs; MY_CHARSET_LOADER loader; + DBUG_ENTER("init_available_charsets"); bzero((char*) &all_charsets,sizeof(all_charsets)); bzero((char*) &my_collation_statistics, sizeof(my_collation_statistics)); + + my_hash_init2(key_memory_charsets, &charset_name_hash, 16, + &my_charset_latin1, 64, 0, 0, get_charset_key, + 0, 0, HASH_UNIQUE); + init_compiled_charsets(MYF(0)); /* Copy compiled charsets */ @@ -640,12 +710,14 @@ static void init_available_charsets(void) my_charset_loader_init_mysys(&loader); strmov(get_charsets_dir(fname), MY_CHARSET_INDEX); my_read_charset_file(&loader, fname, MYF(0)); + DBUG_VOID_RETURN; } void free_charsets(void) { charsets_initialized= charsets_template; + my_hash_free(&charset_name_hash); } @@ -1431,4 +1503,4 @@ const char* my_default_csname() csname = my_os_charset_to_mysql_charset(csname); #endif return csname ? csname : MYSQL_DEFAULT_CHARSET_NAME; -}
\ No newline at end of file +} diff --git a/mysys/errors.c b/mysys/errors.c index a7ccf752c0c..d88540fe277 100644 --- a/mysys/errors.c +++ b/mysys/errors.c @@ -58,7 +58,8 @@ const char *globerrs[GLOBERRS]= "Warning: Can't copy ownership for file '%s' (Errcode: %M)", "Failed to release memory pointer %p, %zu bytes (Errcode: %M)", "Lock Pages in memory access rights required", - "Memcntl %s cmd %s error" + "Memcntl %s cmd %s error", + "Warning: Charset id '%d' csname '%s' trying to replace existing csname '%s'", }; void init_glob_errs(void) @@ -107,6 +108,7 @@ void init_glob_errs() EE(EE_BADMEMORYRELEASE)= "Failed to release memory pointer %p, %zu bytes (Errcode: %M)"; EE(EE_PERM_LOCK_MEMORY)= "Lock Pages in memory access rights required"; EE(EE_MEMCNTL) = "Memcntl %s cmd %s error"; + EE(EE_DUPLICATE_CHARSET)= "Warning: Charset id %d trying to replace csname %s with %s"; } #endif diff --git a/mysys/my_static.c b/mysys/my_static.c index cb0465929ab..6c09ab8d94b 100644 --- a/mysys/my_static.c +++ b/mysys/my_static.c @@ -47,6 +47,7 @@ PSI_memory_key key_memory_my_compress_alloc; PSI_memory_key key_memory_my_err_head; PSI_memory_key key_memory_my_file_info; PSI_memory_key key_memory_pack_frm; +PSI_memory_key key_memory_charsets; #ifdef _WIN32 PSI_memory_key key_memory_win_SECURITY_ATTRIBUTES; diff --git a/mysys/mysys_priv.h b/mysys/mysys_priv.h index 5115e0452d5..adf2d39046a 100644 --- a/mysys/mysys_priv.h +++ b/mysys/mysys_priv.h @@ -87,6 +87,7 @@ extern PSI_memory_key key_memory_my_compress_alloc; extern PSI_memory_key key_memory_my_err_head; extern PSI_memory_key key_memory_my_file_info; extern PSI_memory_key key_memory_pack_frm; +extern PSI_memory_key key_memory_charsets; #ifdef _WIN32 extern PSI_memory_key key_memory_win_SECURITY_ATTRIBUTES; diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c index 945bbdfdc62..f5dd92f736e 100644 --- a/strings/ctype-big5.c +++ b/strings/ctype-big5.c @@ -32,6 +32,8 @@ #ifdef HAVE_CHARSET_big5 +const char charset_name_big5[]= "big5"; + /* Support for Chinese(BIG5) characters, by jou@nematic.ieo.nctu.edu.tw CP950 and HKSCS additional characters are also accepted. @@ -6807,7 +6809,7 @@ struct charset_info_st my_charset_big5_chinese_ci= { 1,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM, /* state */ - "big5", /* cs name */ + charset_name_big5, /* cs name */ "big5_chinese_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -6840,7 +6842,7 @@ struct charset_info_st my_charset_big5_bin= { 84,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "big5", /* cs name */ + charset_name_big5, /* cs name */ "big5_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -6873,7 +6875,7 @@ struct charset_info_st my_charset_big5_chinese_nopad_ci= { MY_NOPAD_ID(1),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_NOPAD, /* state */ - "big5", /* cs name */ + charset_name_big5, /* cs name */ "big5_chinese_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -6906,7 +6908,7 @@ struct charset_info_st my_charset_big5_nopad_bin= { MY_NOPAD_ID(84),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "big5", /* cs name */ + charset_name_big5, /* cs name */ "big5_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-bin.c b/strings/ctype-bin.c index fe28752a3f7..84e5c85697b 100644 --- a/strings/ctype-bin.c +++ b/strings/ctype-bin.c @@ -23,6 +23,8 @@ #include "strings_def.h" #include <m_ctype.h> +const char charset_name_binary[]= "binary"; + static const uchar ctype_bin[]= { 0, @@ -568,7 +570,7 @@ struct charset_info_st my_charset_bin = { 63,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_PRIMARY|MY_CS_NOPAD,/* state */ - "binary", /* cs name */ + charset_name_binary, /* cs name */ "binary", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-cp932.c b/strings/ctype-cp932.c index 45b5bde9510..28fea965bf3 100644 --- a/strings/ctype-cp932.c +++ b/strings/ctype-cp932.c @@ -22,6 +22,7 @@ #ifdef HAVE_CHARSET_cp932 +const char charset_name_cp932[]= "cp932"; /* * This comment is parsed by configure to create ctype.c, @@ -34764,8 +34765,8 @@ struct charset_info_st my_charset_cp932_japanese_ci= { 95,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM, /* state */ - "cp932", /* cs name */ - "cp932_japanese_ci", /* name */ + charset_name_cp932, /* cs name */ + "cp932_japanese_ci", /* name */ "", /* comment */ NULL, /* tailoring */ ctype_cp932, @@ -34796,8 +34797,8 @@ struct charset_info_st my_charset_cp932_bin= { 96,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "cp932", /* cs name */ - "cp932_bin", /* name */ + charset_name_cp932, /* cs name */ + "cp932_bin", /* name */ "", /* comment */ NULL, /* tailoring */ ctype_cp932, @@ -34829,7 +34830,7 @@ struct charset_info_st my_charset_cp932_japanese_nopad_ci= { MY_NOPAD_ID(95),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_NOPAD, /* state */ - "cp932", /* cs name */ + charset_name_cp932, /* cs name */ "cp932_japanese_nopad_ci",/* name */ "", /* comment */ NULL, /* tailoring */ @@ -34861,7 +34862,7 @@ struct charset_info_st my_charset_cp932_nopad_bin= { MY_NOPAD_ID(96),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "cp932", /* cs name */ + charset_name_cp932, /* cs name */ "cp932_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-czech.c b/strings/ctype-czech.c index 17c4c98c24e..b80fe1ae8ed 100644 --- a/strings/ctype-czech.c +++ b/strings/ctype-czech.c @@ -625,7 +625,7 @@ struct charset_info_st my_charset_latin2_czech_ci = 2,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_CSSORT| MY_CS_STRNXFRM_BAD_NWEIGHTS|MY_CS_NON1TO1, /* state */ - "latin2", /* cs name */ + charset_name_latin2, /* cs name */ "latin2_czech_cs", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c index 0362f799fc6..61c64dbcc18 100644 --- a/strings/ctype-euc_kr.c +++ b/strings/ctype-euc_kr.c @@ -31,6 +31,7 @@ #ifdef HAVE_CHARSET_euckr +const char charset_name_euckr[]= "euckr"; static const uchar ctype_euc_kr[257] = { @@ -10054,7 +10055,7 @@ struct charset_info_st my_charset_euckr_korean_ci= { 19,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY, /* state */ - "euckr", /* cs name */ + charset_name_euckr, /* cs name */ "euckr_korean_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -10087,7 +10088,7 @@ struct charset_info_st my_charset_euckr_bin= { 85,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "euckr", /* cs name */ + charset_name_euckr, /* cs name */ "euckr_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -10120,7 +10121,7 @@ struct charset_info_st my_charset_euckr_korean_nopad_ci= { MY_NOPAD_ID(19),0,0,/* number */ MY_CS_COMPILED|MY_CS_NOPAD, /* state */ - "euckr", /* cs name */ + charset_name_euckr, /* cs name */ "euckr_korean_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -10153,7 +10154,7 @@ struct charset_info_st my_charset_euckr_nopad_bin= { MY_NOPAD_ID(85),0,0,/* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "euckr", /* cs name */ + charset_name_euckr, /* cs name */ "euckr_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-eucjpms.c b/strings/ctype-eucjpms.c index 1dd179fed57..2c24bc5ffda 100644 --- a/strings/ctype-eucjpms.c +++ b/strings/ctype-eucjpms.c @@ -33,6 +33,8 @@ ctype-ujis.c file. #ifdef HAVE_CHARSET_eucjpms +const char charset_name_eucjpms[]= "eucjpms"; + static const uchar ctype_eucjpms[257] = { @@ -67593,7 +67595,7 @@ struct charset_info_st my_charset_eucjpms_japanese_ci= { 97,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY, /* state */ - "eucjpms", /* cs name */ + charset_name_eucjpms, /* cs name */ "eucjpms_japanese_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -67626,7 +67628,7 @@ struct charset_info_st my_charset_eucjpms_bin= { 98,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "eucjpms", /* cs name */ + charset_name_eucjpms, /* cs name */ "eucjpms_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -67659,7 +67661,7 @@ struct charset_info_st my_charset_eucjpms_japanese_nopad_ci= { MY_NOPAD_ID(97),0,0, /* number */ MY_CS_COMPILED|MY_CS_NOPAD,/* state */ - "eucjpms", /* cs name */ + charset_name_eucjpms, /* cs name */ "eucjpms_japanese_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -67692,7 +67694,7 @@ struct charset_info_st my_charset_eucjpms_nopad_bin= { MY_NOPAD_ID(98),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "eucjpms", /* cs name */ + charset_name_eucjpms, /* cs name */ "eucjpms_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-gb2312.c b/strings/ctype-gb2312.c index 266799f32a3..91ee2504b65 100644 --- a/strings/ctype-gb2312.c +++ b/strings/ctype-gb2312.c @@ -29,6 +29,8 @@ #ifdef HAVE_CHARSET_gb2312 +const char charset_name_gb2312[]= "gb2312"; + static const uchar ctype_gb2312[257] = { 0, /* For standard library */ @@ -6459,7 +6461,7 @@ struct charset_info_st my_charset_gb2312_chinese_ci= { 24,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY, /* state */ - "gb2312", /* cs name */ + charset_name_gb2312, /* cs name */ "gb2312_chinese_ci",/* name */ "", /* comment */ NULL, /* tailoring */ @@ -6492,7 +6494,7 @@ struct charset_info_st my_charset_gb2312_bin= { 86,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "gb2312", /* cs name */ + charset_name_gb2312, /* cs name */ "gb2312_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -6525,7 +6527,7 @@ struct charset_info_st my_charset_gb2312_chinese_nopad_ci= { MY_NOPAD_ID(24),0,0,/* number */ MY_CS_COMPILED|MY_CS_NOPAD, /* state */ - "gb2312", /* cs name */ + charset_name_gb2312, /* cs name */ "gb2312_chinese_nopad_ci",/* name */ "", /* comment */ NULL, /* tailoring */ @@ -6558,7 +6560,7 @@ struct charset_info_st my_charset_gb2312_nopad_bin= { MY_NOPAD_ID(86),0,0,/* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "gb2312", /* cs name */ + charset_name_gb2312, /* cs name */ "gb2312_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c index fa6dba9bfb5..041fe318eed 100644 --- a/strings/ctype-gbk.c +++ b/strings/ctype-gbk.c @@ -31,6 +31,7 @@ #ifdef HAVE_CHARSET_gbk +const char charset_name_gbk[]= "gbk"; /* Support for Chinese(GBK) characters, by hewei@mail.ied.ac.cn */ @@ -10741,7 +10742,7 @@ struct charset_info_st my_charset_gbk_chinese_ci= { 28,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM, /* state */ - "gbk", /* cs name */ + charset_name_gbk, /* cs name */ "gbk_chinese_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -10773,7 +10774,7 @@ struct charset_info_st my_charset_gbk_bin= { 87,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "gbk", /* cs name */ + charset_name_gbk, /* cs name */ "gbk_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -10806,7 +10807,7 @@ struct charset_info_st my_charset_gbk_chinese_nopad_ci= { MY_NOPAD_ID(28),0,0,/* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_NOPAD, /* state */ - "gbk", /* cs name */ + charset_name_gbk, /* cs name */ "gbk_chinese_nopad_ci",/* name */ "", /* comment */ NULL, /* tailoring */ @@ -10838,7 +10839,7 @@ struct charset_info_st my_charset_gbk_nopad_bin= { MY_NOPAD_ID(87),0,0,/* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "gbk", /* cs name */ + charset_name_gbk, /* cs name */ "gbk_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-latin1.c b/strings/ctype-latin1.c index 53ce27e491e..4753ca737a6 100644 --- a/strings/ctype-latin1.c +++ b/strings/ctype-latin1.c @@ -18,6 +18,8 @@ #include "strings_def.h" #include <m_ctype.h> +const char charset_name_latin1[]= "latin1"; + static const uchar ctype_latin1[] = { 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32, @@ -431,7 +433,7 @@ struct charset_info_st my_charset_latin1= { 8,0,0, /* number */ MY_CS_COMPILED | MY_CS_PRIMARY, /* state */ - "latin1", /* cs name */ + charset_name_latin1, /* cs name */ "latin1_swedish_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -464,7 +466,7 @@ struct charset_info_st my_charset_latin1_nopad= { MY_NOPAD_ID(8),0,0, /* number */ MY_CS_COMPILED | MY_CS_NOPAD, /* state */ - "latin1", /* cs name */ + charset_name_latin1, /* cs name */ "latin1_swedish_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -742,7 +744,7 @@ struct charset_info_st my_charset_latin1_german2_ci= { 31,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_NON1TO1, /* state */ - "latin1", /* cs name */ + charset_name_latin1, /* cs name */ "latin1_german2_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -775,7 +777,7 @@ struct charset_info_st my_charset_latin1_bin= { 47,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "latin1", /* cs name */ + charset_name_latin1, /* cs name */ "latin1_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -808,7 +810,7 @@ struct charset_info_st my_charset_latin1_nopad_bin= { MY_NOPAD_ID(47),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD,/* state */ - "latin1", /* cs name */ + charset_name_latin1, /* cs name */ "latin1_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c index e1c6a871772..57458ca3a48 100644 --- a/strings/ctype-sjis.c +++ b/strings/ctype-sjis.c @@ -22,6 +22,7 @@ #ifdef HAVE_CHARSET_sjis +const char charset_name_sjis[]= "sjis"; /* * This comment is parsed by configure to create ctype.c, @@ -34152,7 +34153,7 @@ struct charset_info_st my_charset_sjis_japanese_ci= { 13,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_NONASCII, /* state */ - "sjis", /* cs name */ + charset_name_sjis, /* cs name */ "sjis_japanese_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -34184,7 +34185,7 @@ struct charset_info_st my_charset_sjis_bin= { 88,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NONASCII, /* state */ - "sjis", /* cs name */ + charset_name_sjis, /* cs name */ "sjis_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -34217,7 +34218,7 @@ struct charset_info_st my_charset_sjis_japanese_nopad_ci= { MY_NOPAD_ID(13),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_NONASCII|MY_CS_NOPAD, /* state */ - "sjis", /* cs name */ + charset_name_sjis, /* cs name */ "sjis_japanese_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -34249,7 +34250,7 @@ struct charset_info_st my_charset_sjis_nopad_bin= { MY_NOPAD_ID(88),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NONASCII|MY_CS_NOPAD, /* state */ - "sjis", /* cs name */ + charset_name_sjis, /* cs name */ "sjis_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-tis620.c b/strings/ctype-tis620.c index 772294fb5c0..90773a0dabc 100644 --- a/strings/ctype-tis620.c +++ b/strings/ctype-tis620.c @@ -40,6 +40,8 @@ #ifdef HAVE_CHARSET_tis620 +const char charset_name_tis620[]= "tis620"; + #define M L_MIDDLE #define U L_UPPER #define L L_LOWER @@ -914,7 +916,7 @@ struct charset_info_st my_charset_tis620_thai_ci= { 18,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_NON1TO1, /* state */ - "tis620", /* cs name */ + charset_name_tis620, /* cs name */ "tis620_thai_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -946,7 +948,7 @@ struct charset_info_st my_charset_tis620_bin= { 89,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "tis620", /* cs name */ + charset_name_tis620, /* cs name */ "tis620_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -979,7 +981,7 @@ struct charset_info_st my_charset_tis620_thai_nopad_ci= { MY_NOPAD_ID(18),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_NON1TO1|MY_CS_NOPAD, /* state */ - "tis620", /* cs name */ + charset_name_tis620, /* cs name */ "tis620_thai_nopad_ci",/* name */ "", /* comment */ NULL, /* tailoring */ @@ -1012,7 +1014,7 @@ struct charset_info_st my_charset_tis620_nopad_bin= { MY_NOPAD_ID(89),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "tis620", /* cs name */ + charset_name_tis620, /* cs name */ "tis620_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c index 94b73335a4f..2d1fa5ef496 100644 --- a/strings/ctype-uca.c +++ b/strings/ctype-uca.c @@ -33884,7 +33884,6 @@ ex: #define MY_UCA_COLL_INIT my_coll_init_uca #include "ctype-uca.ic" - #define MY_CS_UCS2_UCA_FLAGS (MY_CS_COMMON_UCA_FLAGS|MY_CS_NONASCII) #define MY_CS_UCS2_UCA_NOPAD_FLAGS (MY_CS_UCS2_UCA_FLAGS|MY_CS_NOPAD) @@ -33892,7 +33891,7 @@ struct charset_info_st my_charset_ucs2_unicode_ci= { 128,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_unicode_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -33924,7 +33923,7 @@ struct charset_info_st my_charset_ucs2_icelandic_uca_ci= { 129,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_icelandic_ci",/* name */ "", /* comment */ icelandic, /* tailoring */ @@ -33956,7 +33955,7 @@ struct charset_info_st my_charset_ucs2_latvian_uca_ci= { 130,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_latvian_ci", /* name */ "", /* comment */ latvian, /* tailoring */ @@ -33988,7 +33987,7 @@ struct charset_info_st my_charset_ucs2_romanian_uca_ci= { 131,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_romanian_ci", /* name */ "", /* comment */ romanian, /* tailoring */ @@ -34020,7 +34019,7 @@ struct charset_info_st my_charset_ucs2_slovenian_uca_ci= { 132,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_slovenian_ci",/* name */ "", /* comment */ slovenian, /* tailoring */ @@ -34052,7 +34051,7 @@ struct charset_info_st my_charset_ucs2_polish_uca_ci= { 133,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_polish_ci", /* name */ "", /* comment */ polish, /* tailoring */ @@ -34084,7 +34083,7 @@ struct charset_info_st my_charset_ucs2_estonian_uca_ci= { 134,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_estonian_ci", /* name */ "", /* comment */ estonian, /* tailoring */ @@ -34116,7 +34115,7 @@ struct charset_info_st my_charset_ucs2_spanish_uca_ci= { 135,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_spanish_ci", /* name */ "", /* comment */ spanish, /* tailoring */ @@ -34148,7 +34147,7 @@ struct charset_info_st my_charset_ucs2_swedish_uca_ci= { 136,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_swedish_ci", /* name */ "", /* comment */ swedish, /* tailoring */ @@ -34180,7 +34179,7 @@ struct charset_info_st my_charset_ucs2_turkish_uca_ci= { 137,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_turkish_ci", /* name */ "", /* comment */ turkish, /* tailoring */ @@ -34212,7 +34211,7 @@ struct charset_info_st my_charset_ucs2_czech_uca_ci= { 138,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_czech_ci", /* name */ "", /* comment */ czech, /* tailoring */ @@ -34245,7 +34244,7 @@ struct charset_info_st my_charset_ucs2_danish_uca_ci= { 139,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_danish_ci", /* name */ "", /* comment */ danish, /* tailoring */ @@ -34277,7 +34276,7 @@ struct charset_info_st my_charset_ucs2_lithuanian_uca_ci= { 140,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_lithuanian_ci",/* name */ "", /* comment */ lithuanian, /* tailoring */ @@ -34309,7 +34308,7 @@ struct charset_info_st my_charset_ucs2_slovak_uca_ci= { 141,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_slovak_ci", /* name */ "", /* comment */ slovak, /* tailoring */ @@ -34341,7 +34340,7 @@ struct charset_info_st my_charset_ucs2_spanish2_uca_ci= { 142,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_spanish2_ci", /* name */ "", /* comment */ spanish2, /* tailoring */ @@ -34374,7 +34373,7 @@ struct charset_info_st my_charset_ucs2_roman_uca_ci= { 143,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_roman_ci", /* name */ "", /* comment */ roman, /* tailoring */ @@ -34407,7 +34406,7 @@ struct charset_info_st my_charset_ucs2_persian_uca_ci= { 144,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_persian_ci", /* name */ "", /* comment */ persian, /* tailoring */ @@ -34440,7 +34439,7 @@ struct charset_info_st my_charset_ucs2_esperanto_uca_ci= { 145,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ @@ -34473,7 +34472,7 @@ struct charset_info_st my_charset_ucs2_hungarian_uca_ci= { 146,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_hungarian_ci",/* name */ "", /* comment */ hungarian, /* tailoring */ @@ -34505,7 +34504,7 @@ struct charset_info_st my_charset_ucs2_sinhala_uca_ci= { 147,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* csname */ + charset_name_ucs2, /* csname */ "ucs2_sinhala_ci", /* name */ "", /* comment */ sinhala, /* tailoring */ @@ -34539,7 +34538,7 @@ struct charset_info_st my_charset_ucs2_german2_uca_ci= { 148,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* csname */ + charset_name_ucs2, /* csname */ "ucs2_german2_ci", /* name */ "", /* comment */ german2, /* tailoring */ @@ -34571,7 +34570,7 @@ struct charset_info_st my_charset_ucs2_croatian_mysql561_uca_ci= { 149,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_croatian_mysql561_ci",/* name */ "", /* comment */ croatian_mysql561, /* tailoring */ @@ -34604,7 +34603,7 @@ struct charset_info_st my_charset_ucs2_croatian_uca_ci= { MY_PAGE2_COLLATION_ID_UCS2,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_croatian_ci", /* name */ "", /* comment */ croatian_mariadb, /* tailoring */ @@ -34637,7 +34636,7 @@ struct charset_info_st my_charset_ucs2_myanmar_uca_ci= { MY_PAGE2_COLLATION_ID_UCS2+1,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_myanmar_ci", /* name */ "", /* comment */ myanmar, /* tailoring */ @@ -34670,7 +34669,7 @@ struct charset_info_st my_charset_ucs2_thai_520_w2= { MY_PAGE2_COLLATION_ID_UCS2+2,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* flags */ - "ucs2", /* csname */ + charset_name_ucs2, /* csname */ "ucs2_thai_520_w2", /* name */ "", /* comment */ "[strength 2]", /* tailoring */ @@ -34702,7 +34701,7 @@ struct charset_info_st my_charset_ucs2_unicode_520_ci= { 150,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_unicode_520_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -34735,7 +34734,7 @@ struct charset_info_st my_charset_ucs2_vietnamese_ci= { 151,0,0, /* number */ MY_CS_UCS2_UCA_FLAGS,/* state */ - "ucs2", /* csname */ + charset_name_ucs2, /* csname */ "ucs2_vietnamese_ci",/* name */ "", /* comment */ vietnamese, /* tailoring */ @@ -34768,7 +34767,7 @@ struct charset_info_st my_charset_ucs2_unicode_nopad_ci= { MY_NOPAD_ID(128),0,0, /* number */ MY_CS_UCS2_UCA_NOPAD_FLAGS,/* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_unicode_nopad_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -34801,7 +34800,7 @@ struct charset_info_st my_charset_ucs2_unicode_520_nopad_ci= { MY_NOPAD_ID(150),0,0, /* number */ MY_CS_UCS2_UCA_NOPAD_FLAGS, /* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_unicode_520_nopad_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -34903,7 +34902,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_ci= { 192,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_unicode_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -34936,7 +34935,7 @@ struct charset_info_st my_charset_utf8mb3_icelandic_uca_ci= { 193,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_icelandic_ci",/* name */ "", /* comment */ icelandic, /* tailoring */ @@ -34968,7 +34967,7 @@ struct charset_info_st my_charset_utf8mb3_latvian_uca_ci= { 194,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_latvian_ci",/* name */ "", /* comment */ latvian, /* tailoring */ @@ -35000,7 +34999,7 @@ struct charset_info_st my_charset_utf8mb3_romanian_uca_ci= { 195,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_romanian_ci", /* name */ "", /* comment */ romanian, /* tailoring */ @@ -35032,7 +35031,7 @@ struct charset_info_st my_charset_utf8mb3_slovenian_uca_ci= { 196,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_slovenian_ci",/* name */ "", /* comment */ slovenian, /* tailoring */ @@ -35064,7 +35063,7 @@ struct charset_info_st my_charset_utf8mb3_polish_uca_ci= { 197,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_polish_ci",/* name */ "", /* comment */ polish, /* tailoring */ @@ -35096,7 +35095,7 @@ struct charset_info_st my_charset_utf8mb3_estonian_uca_ci= { 198,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_estonian_ci",/* name */ "", /* comment */ estonian, /* tailoring */ @@ -35128,7 +35127,7 @@ struct charset_info_st my_charset_utf8mb3_spanish_uca_ci= { 199,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_spanish_ci", /* name */ "", /* comment */ spanish, /* tailoring */ @@ -35160,7 +35159,7 @@ struct charset_info_st my_charset_utf8mb3_swedish_uca_ci= { 200,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_swedish_ci", /* name */ "", /* comment */ swedish, /* tailoring */ @@ -35192,7 +35191,7 @@ struct charset_info_st my_charset_utf8mb3_turkish_uca_ci= { 201,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_turkish_ci", /* name */ "", /* comment */ turkish, /* tailoring */ @@ -35224,7 +35223,7 @@ struct charset_info_st my_charset_utf8mb3_czech_uca_ci= { 202,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_czech_ci", /* name */ "", /* comment */ czech, /* tailoring */ @@ -35257,7 +35256,7 @@ struct charset_info_st my_charset_utf8mb3_danish_uca_ci= { 203,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_danish_ci", /* name */ "", /* comment */ danish, /* tailoring */ @@ -35289,7 +35288,7 @@ struct charset_info_st my_charset_utf8mb3_lithuanian_uca_ci= { 204,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_lithuanian_ci",/* name */ "", /* comment */ lithuanian, /* tailoring */ @@ -35321,7 +35320,7 @@ struct charset_info_st my_charset_utf8mb3_slovak_uca_ci= { 205,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_slovak_ci",/* name */ "", /* comment */ slovak, /* tailoring */ @@ -35353,7 +35352,7 @@ struct charset_info_st my_charset_utf8mb3_spanish2_uca_ci= { 206,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_spanish2_ci",/* name */ "", /* comment */ spanish2, /* tailoring */ @@ -35385,7 +35384,7 @@ struct charset_info_st my_charset_utf8mb3_roman_uca_ci= { 207,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_roman_ci",/* name */ "", /* comment */ roman, /* tailoring */ @@ -35417,7 +35416,7 @@ struct charset_info_st my_charset_utf8mb3_persian_uca_ci= { 208,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_persian_ci",/* name */ "", /* comment */ persian, /* tailoring */ @@ -35449,7 +35448,7 @@ struct charset_info_st my_charset_utf8mb3_esperanto_uca_ci= { 209,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ @@ -35481,7 +35480,7 @@ struct charset_info_st my_charset_utf8mb3_hungarian_uca_ci= { 210,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_hungarian_ci",/* name */ "", /* comment */ hungarian, /* tailoring */ @@ -35513,7 +35512,7 @@ struct charset_info_st my_charset_utf8mb3_sinhala_uca_ci= { 211,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_sinhala_ci", /* name */ "", /* comment */ sinhala, /* tailoring */ @@ -35546,7 +35545,7 @@ struct charset_info_st my_charset_utf8mb3_german2_uca_ci= { 212,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_german2_ci",/* name */ "", /* comment */ german2, /* tailoring */ @@ -35578,7 +35577,7 @@ struct charset_info_st my_charset_utf8mb3_croatian_mysql561_uca_ci= { 213,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_croatian_mysql561_ci",/* name */ "", /* comment */ croatian_mysql561, /* tailoring */ @@ -35611,7 +35610,7 @@ struct charset_info_st my_charset_utf8mb3_croatian_uca_ci= { MY_PAGE2_COLLATION_ID_UTF8,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_croatian_ci",/* name */ "", /* comment */ croatian_mariadb, /* tailoring */ @@ -35644,7 +35643,7 @@ struct charset_info_st my_charset_utf8mb3_myanmar_uca_ci= { MY_PAGE2_COLLATION_ID_UTF8+1,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_myanmar_ci",/* name */ "", /* comment */ myanmar, /* tailoring */ @@ -35677,7 +35676,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_520_ci= { 214,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* csname */ + charset_name_utf8, /* csname */ MY_UTF8MB3 "_unicode_520_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -35709,7 +35708,7 @@ struct charset_info_st my_charset_utf8mb3_thai_520_w2= { MY_PAGE2_COLLATION_ID_UTF8+2,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* csname */ + charset_name_utf8, /* csname */ MY_UTF8MB3 "_thai_520_w2",/* name */ "", /* comment */ "[strength 2]", /* tailoring */ @@ -35741,7 +35740,7 @@ struct charset_info_st my_charset_utf8mb3_vietnamese_ci= { 215,0,0, /* number */ MY_CS_UTF8MB3_UCA_FLAGS,/* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_vietnamese_ci",/* name */ "", /* comment */ vietnamese, /* tailoring */ @@ -35774,7 +35773,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_nopad_ci= { MY_NOPAD_ID(192),0,0, /* number */ MY_CS_UTF8MB3_UCA_NOPAD_FLAGS, /* flags */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_unicode_nopad_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -35807,7 +35806,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_520_nopad_ci= { MY_NOPAD_ID(214),0,0, /* number */ MY_CS_UTF8MB3_UCA_NOPAD_FLAGS, /* flags */ - MY_UTF8MB3, /* csname */ + charset_name_utf8, /* csname */ MY_UTF8MB3 "_unicode_520_nopad_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -35882,7 +35881,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_ci= { 224,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_unicode_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -35915,7 +35914,7 @@ struct charset_info_st my_charset_utf8mb4_icelandic_uca_ci= { 225,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_icelandic_ci",/* name */ "", /* comment */ icelandic, /* tailoring */ @@ -35947,7 +35946,7 @@ struct charset_info_st my_charset_utf8mb4_latvian_uca_ci= { 226,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_latvian_ci", /* name */ "", /* comment */ latvian, /* tailoring */ @@ -35979,7 +35978,7 @@ struct charset_info_st my_charset_utf8mb4_romanian_uca_ci= { 227,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_romanian_ci", /* name */ "", /* comment */ romanian, /* tailoring */ @@ -36011,7 +36010,7 @@ struct charset_info_st my_charset_utf8mb4_slovenian_uca_ci= { 228,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_slovenian_ci",/* name */ "", /* comment */ slovenian, /* tailoring */ @@ -36043,7 +36042,7 @@ struct charset_info_st my_charset_utf8mb4_polish_uca_ci= { 229,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_polish_ci", /* name */ "", /* comment */ polish, /* tailoring */ @@ -36075,7 +36074,7 @@ struct charset_info_st my_charset_utf8mb4_estonian_uca_ci= { 230,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_estonian_ci", /* name */ "", /* comment */ estonian, /* tailoring */ @@ -36107,7 +36106,7 @@ struct charset_info_st my_charset_utf8mb4_spanish_uca_ci= { 231,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_spanish_ci", /* name */ "", /* comment */ spanish, /* tailoring */ @@ -36139,7 +36138,7 @@ struct charset_info_st my_charset_utf8mb4_swedish_uca_ci= { 232,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_swedish_ci", /* name */ "", /* comment */ swedish, /* tailoring */ @@ -36171,7 +36170,7 @@ struct charset_info_st my_charset_utf8mb4_turkish_uca_ci= { 233,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_turkish_ci", /* name */ "", /* comment */ turkish, /* tailoring */ @@ -36203,7 +36202,7 @@ struct charset_info_st my_charset_utf8mb4_czech_uca_ci= { 234,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_czech_ci", /* name */ "", /* comment */ czech, /* tailoring */ @@ -36236,7 +36235,7 @@ struct charset_info_st my_charset_utf8mb4_danish_uca_ci= { 235,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_danish_ci", /* name */ "", /* comment */ danish, /* tailoring */ @@ -36268,7 +36267,7 @@ struct charset_info_st my_charset_utf8mb4_lithuanian_uca_ci= { 236,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_lithuanian_ci",/* name */ "", /* comment */ lithuanian, /* tailoring */ @@ -36300,7 +36299,7 @@ struct charset_info_st my_charset_utf8mb4_slovak_uca_ci= { 237,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_slovak_ci", /* name */ "", /* comment */ slovak, /* tailoring */ @@ -36332,7 +36331,7 @@ struct charset_info_st my_charset_utf8mb4_spanish2_uca_ci= { 238,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_spanish2_ci", /* name */ "", /* comment */ spanish2, /* tailoring */ @@ -36364,7 +36363,7 @@ struct charset_info_st my_charset_utf8mb4_roman_uca_ci= { 239,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_roman_ci", /* name */ "", /* comment */ roman, /* tailoring */ @@ -36396,7 +36395,7 @@ struct charset_info_st my_charset_utf8mb4_persian_uca_ci= { 240,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_persian_ci", /* name */ "", /* comment */ persian, /* tailoring */ @@ -36428,7 +36427,7 @@ struct charset_info_st my_charset_utf8mb4_esperanto_uca_ci= { 241,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ @@ -36460,7 +36459,7 @@ struct charset_info_st my_charset_utf8mb4_hungarian_uca_ci= { 242,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_hungarian_ci",/* name */ "", /* comment */ hungarian, /* tailoring */ @@ -36492,7 +36491,7 @@ struct charset_info_st my_charset_utf8mb4_sinhala_uca_ci= { 243,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_sinhala_ci",/* name */ "", /* comment */ sinhala, /* tailoring */ @@ -36524,7 +36523,7 @@ struct charset_info_st my_charset_utf8mb4_german2_uca_ci= { 244,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_german2_ci",/* name */ "", /* comment */ german2, /* tailoring */ @@ -36556,7 +36555,7 @@ struct charset_info_st my_charset_utf8mb4_croatian_mysql561_uca_ci= { 245,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_croatian_mysql561_ci",/* name */ "", /* comment */ croatian_mysql561, /* tailoring */ @@ -36589,7 +36588,7 @@ struct charset_info_st my_charset_utf8mb4_croatian_uca_ci= { MY_PAGE2_COLLATION_ID_UTF8MB4,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_croatian_ci",/* name */ "", /* comment */ croatian_mariadb, /* tailoring */ @@ -36622,7 +36621,7 @@ struct charset_info_st my_charset_utf8mb4_myanmar_uca_ci= { MY_PAGE2_COLLATION_ID_UTF8MB4+1,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_myanmar_ci",/* name */ "", /* comment */ myanmar, /* tailoring */ @@ -36654,7 +36653,7 @@ struct charset_info_st my_charset_utf8mb4_thai_520_w2= { MY_PAGE2_COLLATION_ID_UTF8MB4+2,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* flags */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_thai_520_w2", /* name */ "", /* comment */ "[strength 2]", /* tailoring */ @@ -36686,7 +36685,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_520_ci= { 246,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* flags */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_unicode_520_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -36719,7 +36718,7 @@ struct charset_info_st my_charset_utf8mb4_vietnamese_ci= { 247,0,0, /* number */ MY_CS_UTF8MB4_UCA_FLAGS,/* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_vietnamese_ci",/* name */ "", /* comment */ vietnamese, /* tailoring */ @@ -36752,7 +36751,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_nopad_ci= { MY_NOPAD_ID(224),0,0, /* number */ MY_CS_UTF8MB4_UCA_NOPAD_FLAGS, /* state */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_unicode_nopad_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -36785,7 +36784,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_520_nopad_ci= { MY_NOPAD_ID(246),0,0, /* number */ MY_CS_UTF8MB4_UCA_NOPAD_FLAGS, /* flags */ - MY_UTF8MB4, /* csname */ + charset_name_utf8mb4, /* csname */ MY_UTF8MB4 "_unicode_520_nopad_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -36828,7 +36827,6 @@ struct charset_info_st my_charset_utf8mb4_unicode_520_nopad_ci= #define MY_UCA_COLL_INIT my_coll_init_uca #include "ctype-uca.ic" - extern MY_CHARSET_HANDLER my_charset_utf32_handler; #define MY_CS_UTF32_UCA_FLAGS (MY_CS_COMMON_UCA_FLAGS|MY_CS_NONASCII) @@ -36838,7 +36836,7 @@ struct charset_info_st my_charset_utf32_unicode_ci= { 160,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_unicode_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -36871,7 +36869,7 @@ struct charset_info_st my_charset_utf32_icelandic_uca_ci= { 161,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_icelandic_ci",/* name */ "", /* comment */ icelandic, /* tailoring */ @@ -36903,7 +36901,7 @@ struct charset_info_st my_charset_utf32_latvian_uca_ci= { 162,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_latvian_ci", /* name */ "", /* comment */ latvian, /* tailoring */ @@ -36935,7 +36933,7 @@ struct charset_info_st my_charset_utf32_romanian_uca_ci= { 163,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_romanian_ci", /* name */ "", /* comment */ romanian, /* tailoring */ @@ -36967,7 +36965,7 @@ struct charset_info_st my_charset_utf32_slovenian_uca_ci= { 164,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_slovenian_ci",/* name */ "", /* comment */ slovenian, /* tailoring */ @@ -36999,7 +36997,7 @@ struct charset_info_st my_charset_utf32_polish_uca_ci= { 165,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_polish_ci", /* name */ "", /* comment */ polish, /* tailoring */ @@ -37031,7 +37029,7 @@ struct charset_info_st my_charset_utf32_estonian_uca_ci= { 166,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_estonian_ci", /* name */ "", /* comment */ estonian, /* tailoring */ @@ -37063,7 +37061,7 @@ struct charset_info_st my_charset_utf32_spanish_uca_ci= { 167,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_spanish_ci", /* name */ "", /* comment */ spanish, /* tailoring */ @@ -37095,7 +37093,7 @@ struct charset_info_st my_charset_utf32_swedish_uca_ci= { 168,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_swedish_ci", /* name */ "", /* comment */ swedish, /* tailoring */ @@ -37127,7 +37125,7 @@ struct charset_info_st my_charset_utf32_turkish_uca_ci= { 169,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_turkish_ci", /* name */ "", /* comment */ turkish, /* tailoring */ @@ -37159,7 +37157,7 @@ struct charset_info_st my_charset_utf32_czech_uca_ci= { 170,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_czech_ci", /* name */ "", /* comment */ czech, /* tailoring */ @@ -37192,7 +37190,7 @@ struct charset_info_st my_charset_utf32_danish_uca_ci= { 171,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_danish_ci", /* name */ "", /* comment */ danish, /* tailoring */ @@ -37224,7 +37222,7 @@ struct charset_info_st my_charset_utf32_lithuanian_uca_ci= { 172,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_lithuanian_ci",/* name */ "", /* comment */ lithuanian, /* tailoring */ @@ -37256,7 +37254,7 @@ struct charset_info_st my_charset_utf32_slovak_uca_ci= { 173,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_slovak_ci", /* name */ "", /* comment */ slovak, /* tailoring */ @@ -37288,7 +37286,7 @@ struct charset_info_st my_charset_utf32_spanish2_uca_ci= { 174,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_spanish2_ci", /* name */ "", /* comment */ spanish2, /* tailoring */ @@ -37320,7 +37318,7 @@ struct charset_info_st my_charset_utf32_roman_uca_ci= { 175,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_roman_ci", /* name */ "", /* comment */ roman, /* tailoring */ @@ -37352,7 +37350,7 @@ struct charset_info_st my_charset_utf32_persian_uca_ci= { 176,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_persian_ci", /* name */ "", /* comment */ persian, /* tailoring */ @@ -37384,7 +37382,7 @@ struct charset_info_st my_charset_utf32_esperanto_uca_ci= { 177,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ @@ -37416,7 +37414,7 @@ struct charset_info_st my_charset_utf32_hungarian_uca_ci= { 178,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_hungarian_ci",/* name */ "", /* comment */ hungarian, /* tailoring */ @@ -37448,7 +37446,7 @@ struct charset_info_st my_charset_utf32_sinhala_uca_ci= { 179,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_sinhala_ci", /* name */ "", /* comment */ sinhala, /* tailoring */ @@ -37480,7 +37478,7 @@ struct charset_info_st my_charset_utf32_german2_uca_ci= { 180,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_german2_ci", /* name */ "", /* comment */ german2, /* tailoring */ @@ -37512,7 +37510,7 @@ struct charset_info_st my_charset_utf32_croatian_mysql561_uca_ci= { 181,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_croatian_mysql561_ci", /* name */ "", /* comment */ croatian_mysql561, /* tailoring */ @@ -37544,7 +37542,7 @@ struct charset_info_st my_charset_utf32_croatian_uca_ci= { MY_PAGE2_COLLATION_ID_UTF32,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_croatian_ci", /* name */ "", /* comment */ croatian_mariadb, /* tailoring */ @@ -37577,7 +37575,7 @@ struct charset_info_st my_charset_utf32_myanmar_uca_ci= { MY_PAGE2_COLLATION_ID_UTF32+1,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_myanmar_ci", /* name */ "", /* comment */ myanmar, /* tailoring */ @@ -37610,7 +37608,7 @@ struct charset_info_st my_charset_utf32_thai_520_w2= { MY_PAGE2_COLLATION_ID_UTF32+2,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_thai_520_w2",/* name */ "", /* comment */ "[strength 2]", /* tailoring */ @@ -37643,7 +37641,7 @@ struct charset_info_st my_charset_utf32_unicode_520_ci= { 182,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* stat e */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_unicode_520_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -37676,7 +37674,7 @@ struct charset_info_st my_charset_utf32_vietnamese_ci= { 183,0,0, /* number */ MY_CS_UTF32_UCA_FLAGS,/* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_vietnamese_ci",/* name */ "", /* comment */ vietnamese, /* tailoring */ @@ -37709,7 +37707,7 @@ struct charset_info_st my_charset_utf32_unicode_nopad_ci= { MY_NOPAD_ID(160),0,0, /* number */ MY_CS_UTF32_UCA_NOPAD_FLAGS, /* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_unicode_nopad_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -37742,7 +37740,7 @@ struct charset_info_st my_charset_utf32_unicode_520_nopad_ci= { MY_NOPAD_ID(182),0,0, /* number */ MY_CS_UTF32_UCA_NOPAD_FLAGS, /* state */ - "utf32", /* csname */ + charset_name_utf32, /* csname */ "utf32_unicode_520_nopad_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -37786,7 +37784,6 @@ struct charset_info_st my_charset_utf32_unicode_520_nopad_ci= #define MY_UCA_COLL_INIT my_coll_init_uca #include "ctype-uca.ic" - extern MY_CHARSET_HANDLER my_charset_utf16_handler; #define MY_CS_UTF16_UCA_FLAGS (MY_CS_COMMON_UCA_FLAGS|MY_CS_NONASCII) @@ -37796,7 +37793,7 @@ struct charset_info_st my_charset_utf16_unicode_ci= { 101,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* csname */ + charset_name_utf16, /* csname */ "utf16_unicode_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -37829,7 +37826,7 @@ struct charset_info_st my_charset_utf16_icelandic_uca_ci= { 102,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* csname */ + charset_name_utf16, /* csname */ "utf16_icelandic_ci",/* name */ "", /* comment */ icelandic, /* tailoring */ @@ -37861,7 +37858,7 @@ struct charset_info_st my_charset_utf16_latvian_uca_ci= { 103,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_latvian_ci", /* name */ "", /* comment */ latvian, /* tailoring */ @@ -37893,7 +37890,7 @@ struct charset_info_st my_charset_utf16_romanian_uca_ci= { 104,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_romanian_ci", /* name */ "", /* comment */ romanian, /* tailoring */ @@ -37925,7 +37922,7 @@ struct charset_info_st my_charset_utf16_slovenian_uca_ci= { 105,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_slovenian_ci",/* name */ "", /* comment */ slovenian, /* tailoring */ @@ -37957,7 +37954,7 @@ struct charset_info_st my_charset_utf16_polish_uca_ci= { 106,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_polish_ci", /* name */ "", /* comment */ polish, /* tailoring */ @@ -37989,7 +37986,7 @@ struct charset_info_st my_charset_utf16_estonian_uca_ci= { 107,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_estonian_ci", /* name */ "", /* comment */ estonian, /* tailoring */ @@ -38021,7 +38018,7 @@ struct charset_info_st my_charset_utf16_spanish_uca_ci= { 108,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_spanish_ci", /* name */ "", /* comment */ spanish, /* tailoring */ @@ -38053,7 +38050,7 @@ struct charset_info_st my_charset_utf16_swedish_uca_ci= { 109,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_swedish_ci", /* name */ "", /* comment */ swedish, /* tailoring */ @@ -38085,7 +38082,7 @@ struct charset_info_st my_charset_utf16_turkish_uca_ci= { 110,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_turkish_ci", /* name */ "", /* comment */ turkish, /* tailoring */ @@ -38117,7 +38114,7 @@ struct charset_info_st my_charset_utf16_czech_uca_ci= { 111,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_czech_ci", /* name */ "", /* comment */ czech, /* tailoring */ @@ -38150,7 +38147,7 @@ struct charset_info_st my_charset_utf16_danish_uca_ci= { 112,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_danish_ci", /* name */ "", /* comment */ danish, /* tailoring */ @@ -38182,7 +38179,7 @@ struct charset_info_st my_charset_utf16_lithuanian_uca_ci= { 113,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_lithuanian_ci",/* name */ "", /* comment */ lithuanian, /* tailoring */ @@ -38214,7 +38211,7 @@ struct charset_info_st my_charset_utf16_slovak_uca_ci= { 114,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_slovak_ci", /* name */ "", /* comment */ slovak, /* tailoring */ @@ -38246,7 +38243,7 @@ struct charset_info_st my_charset_utf16_spanish2_uca_ci= { 115,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_spanish2_ci",/* name */ "", /* comment */ spanish2, /* tailoring */ @@ -38278,7 +38275,7 @@ struct charset_info_st my_charset_utf16_roman_uca_ci= { 116,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_roman_ci", /* name */ "", /* comment */ roman, /* tailoring */ @@ -38310,7 +38307,7 @@ struct charset_info_st my_charset_utf16_persian_uca_ci= { 117,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_persian_ci", /* name */ "", /* comment */ persian, /* tailoring */ @@ -38342,7 +38339,7 @@ struct charset_info_st my_charset_utf16_esperanto_uca_ci= { 118,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_esperanto_ci",/* name */ "", /* comment */ esperanto, /* tailoring */ @@ -38374,7 +38371,7 @@ struct charset_info_st my_charset_utf16_hungarian_uca_ci= { 119,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_hungarian_ci",/* name */ "", /* comment */ hungarian, /* tailoring */ @@ -38406,7 +38403,7 @@ struct charset_info_st my_charset_utf16_sinhala_uca_ci= { 120,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_sinhala_ci",/* name */ "", /* comment */ sinhala, /* tailoring */ @@ -38438,7 +38435,7 @@ struct charset_info_st my_charset_utf16_german2_uca_ci= { 121,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_german2_ci",/* name */ "", /* comment */ german2, /* tailoring */ @@ -38471,7 +38468,7 @@ struct charset_info_st my_charset_utf16_croatian_mysql561_uca_ci= { 122,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_croatian_mysql561_ci",/* name */ "", /* comment */ croatian_mysql561, /* tailoring */ @@ -38504,7 +38501,7 @@ struct charset_info_st my_charset_utf16_croatian_uca_ci= { MY_PAGE2_COLLATION_ID_UTF16,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_croatian_ci",/* name */ "", /* comment */ croatian_mariadb, /* tailoring */ @@ -38537,7 +38534,7 @@ struct charset_info_st my_charset_utf16_myanmar_uca_ci= { MY_PAGE2_COLLATION_ID_UTF16+1,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_myanmar_ci",/* name */ "", /* comment */ myanmar, /* tailoring */ @@ -38570,7 +38567,7 @@ struct charset_info_st my_charset_utf16_thai_520_w2= { MY_PAGE2_COLLATION_ID_UTF16+2,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_thai_520_w2",/* name */ "", /* comment */ "[strength 2]", /* tailoring */ @@ -38603,7 +38600,7 @@ struct charset_info_st my_charset_utf16_unicode_520_ci= { 123,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* csname */ + charset_name_utf16, /* csname */ "utf16_unicode_520_ci",/* name */ "", /* comment */ "", /* tailoring */ @@ -38636,7 +38633,7 @@ struct charset_info_st my_charset_utf16_vietnamese_ci= { 124,0,0, /* number */ MY_CS_UTF16_UCA_FLAGS,/* state */ - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_vietnamese_ci",/* name */ "", /* comment */ vietnamese, /* tailoring */ @@ -38669,7 +38666,7 @@ struct charset_info_st my_charset_utf16_unicode_nopad_ci= { MY_NOPAD_ID(101),0,0, /* number */ MY_CS_UTF16_UCA_NOPAD_FLAGS, /* state */ - "utf16", /* csname */ + charset_name_utf16, /* csname */ "utf16_unicode_nopad_ci", /* name */ "", /* comment */ "", /* tailoring */ @@ -38702,7 +38699,7 @@ struct charset_info_st my_charset_utf16_unicode_520_nopad_ci= { MY_NOPAD_ID(123),0,0, /* number */ MY_CS_UTF16_UCA_NOPAD_FLAGS, /* state */ - "utf16", /* csname */ + charset_name_utf16, /* csname */ "utf16_unicode_520_nopad_ci",/* name */ "", /* comment */ "", /* tailoring */ diff --git a/strings/ctype-ucs2.c b/strings/ctype-ucs2.c index d764849c01e..c72fc9b6d00 100644 --- a/strings/ctype-ucs2.c +++ b/strings/ctype-ucs2.c @@ -35,7 +35,6 @@ #define HAVE_CHARSET_mb2_or_mb4 #endif - #ifndef EILSEQ #define EILSEQ ENOENT #endif @@ -1278,6 +1277,7 @@ my_uni_utf16(CHARSET_INFO *cs __attribute__((unused)), #ifdef HAVE_CHARSET_utf16 +const char charset_name_utf16le[]= "utf16le"; static inline void my_tolower_utf16(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) @@ -1599,7 +1599,7 @@ struct charset_info_st my_charset_utf16_general_ci= { 54,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_general_ci", /* name */ "UTF-16 Unicode", /* comment */ NULL, /* tailoring */ @@ -1632,7 +1632,7 @@ struct charset_info_st my_charset_utf16_bin= { 55,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_bin", /* name */ "UTF-16 Unicode", /* comment */ NULL, /* tailoring */ @@ -1665,7 +1665,7 @@ struct charset_info_st my_charset_utf16_general_nopad_ci= { MY_NOPAD_ID(54),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII|MY_CS_NOPAD, - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_general_nopad_ci", /* name */ "UTF-16 Unicode", /* comment */ NULL, /* tailoring */ @@ -1699,7 +1699,7 @@ struct charset_info_st my_charset_utf16_nopad_bin= MY_NOPAD_ID(55),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII| MY_CS_NOPAD, - "utf16", /* cs name */ + charset_name_utf16, /* cs name */ "utf16_nopad_bin", /* name */ "UTF-16 Unicode", /* comment */ NULL, /* tailoring */ @@ -1940,7 +1940,7 @@ struct charset_info_st my_charset_utf16le_general_ci= { 56,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, - "utf16le", /* cs name */ + charset_name_utf16le, /* cs name */ "utf16le_general_ci",/* name */ "UTF-16LE Unicode", /* comment */ NULL, /* tailoring */ @@ -1973,7 +1973,7 @@ struct charset_info_st my_charset_utf16le_bin= { 62,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, - "utf16le", /* cs name */ + charset_name_utf16le, /* cs name */ "utf16le_bin", /* name */ "UTF-16LE Unicode", /* comment */ NULL, /* tailoring */ @@ -2006,7 +2006,7 @@ struct charset_info_st my_charset_utf16le_general_nopad_ci= { MY_NOPAD_ID(56),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII|MY_CS_NOPAD, - "utf16le", /* cs name */ + charset_name_utf16le, /* cs name */ "utf16le_general_nopad_ci",/* name */ "UTF-16LE Unicode", /* comment */ NULL, /* tailoring */ @@ -2040,7 +2040,7 @@ struct charset_info_st my_charset_utf16le_nopad_bin= MY_NOPAD_ID(62),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII| MY_CS_NOPAD, - "utf16le", /* cs name */ + charset_name_utf16le, /* cs name */ "utf16le_nopad_bin", /* name */ "UTF-16LE Unicode", /* comment */ NULL, /* tailoring */ @@ -2763,7 +2763,7 @@ struct charset_info_st my_charset_utf32_general_ci= { 60,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, - "utf32", /* cs name */ + charset_name_utf32, /* cs name */ "utf32_general_ci", /* name */ "UTF-32 Unicode", /* comment */ NULL, /* tailoring */ @@ -2796,7 +2796,7 @@ struct charset_info_st my_charset_utf32_bin= { 61,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, - "utf32", /* cs name */ + charset_name_utf32, /* cs name */ "utf32_bin", /* name */ "UTF-32 Unicode", /* comment */ NULL, /* tailoring */ @@ -2829,7 +2829,7 @@ struct charset_info_st my_charset_utf32_general_nopad_ci= { MY_NOPAD_ID(60),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII|MY_CS_NOPAD, - "utf32", /* cs name */ + charset_name_utf32, /* cs name */ "utf32_general_nopad_ci", /* name */ "UTF-32 Unicode", /* comment */ NULL, /* tailoring */ @@ -2863,7 +2863,7 @@ struct charset_info_st my_charset_utf32_nopad_bin= MY_NOPAD_ID(61),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII| MY_CS_NOPAD, - "utf32", /* cs name */ + charset_name_utf32, /* cs name */ "utf32_nopad_bin", /* name */ "UTF-32 Unicode", /* comment */ NULL, /* tailoring */ @@ -3354,7 +3354,7 @@ struct charset_info_st my_charset_ucs2_general_ci= { 35,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_general_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -3387,7 +3387,7 @@ struct charset_info_st my_charset_ucs2_general_mysql500_ci= { 159, 0, 0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII, /* state */ - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_general_mysql500_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -3420,7 +3420,7 @@ struct charset_info_st my_charset_ucs2_bin= { 90,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_UNICODE|MY_CS_NONASCII, - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -3453,7 +3453,7 @@ struct charset_info_st my_charset_ucs2_general_nopad_ci= { MY_NOPAD_ID(35),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII|MY_CS_NOPAD, - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_general_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -3486,7 +3486,7 @@ struct charset_info_st my_charset_ucs2_nopad_bin= { MY_NOPAD_ID(90),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_UNICODE|MY_CS_NONASCII|MY_CS_NOPAD, - "ucs2", /* cs name */ + charset_name_ucs2, /* cs name */ "ucs2_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-ujis.c b/strings/ctype-ujis.c index 9ec3b578549..b90b3ef3a6a 100644 --- a/strings/ctype-ujis.c +++ b/strings/ctype-ujis.c @@ -32,6 +32,7 @@ #ifdef HAVE_CHARSET_ujis +const char charset_name_ujis[]= "ujis"; static const uchar ctype_ujis[257] = { @@ -67337,7 +67338,7 @@ struct charset_info_st my_charset_ujis_japanese_ci= { 12,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY, /* state */ - "ujis", /* cs name */ + charset_name_ujis, /* cs name */ "ujis_japanese_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -67370,7 +67371,7 @@ struct charset_info_st my_charset_ujis_bin= { 91,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - "ujis", /* cs name */ + charset_name_ujis, /* cs name */ "ujis_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -67403,7 +67404,7 @@ struct charset_info_st my_charset_ujis_japanese_nopad_ci= { MY_NOPAD_ID(12),0,0,/* number */ MY_CS_COMPILED|MY_CS_NOPAD, /* state */ - "ujis", /* cs name */ + charset_name_ujis, /* cs name */ "ujis_japanese_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -67436,7 +67437,7 @@ struct charset_info_st my_charset_ujis_nopad_bin= { MY_NOPAD_ID(91),0,0,/* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - "ujis", /* cs name */ + charset_name_ujis, /* cs name */ "ujis_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c index 7434f968383..cdf89aa03ff 100644 --- a/strings/ctype-utf8.c +++ b/strings/ctype-utf8.c @@ -5473,7 +5473,7 @@ struct charset_info_st my_charset_utf8mb3_general_ci= { 33,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE, /* state */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_general_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -5506,7 +5506,7 @@ struct charset_info_st my_charset_utf8mb3_general_mysql500_ci= { 223,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE, /* state */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_general_mysql500_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -5539,7 +5539,7 @@ struct charset_info_st my_charset_utf8mb3_bin= { 83,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_BINSORT|MY_CS_UNICODE, /* state */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -5572,7 +5572,7 @@ struct charset_info_st my_charset_utf8mb3_general_nopad_ci= { MY_NOPAD_ID(33),0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NOPAD, /* state */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_general_nopad_ci", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -5605,7 +5605,7 @@ struct charset_info_st my_charset_utf8mb3_nopad_bin= { MY_NOPAD_ID(83),0,0,/* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_BINSORT|MY_CS_UNICODE|MY_CS_NOPAD, - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_nopad_bin", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -5767,7 +5767,7 @@ struct charset_info_st my_charset_utf8mb3_general_cs= { 254,0,0, /* number */ MY_CS_COMPILED|MY_CS_UNICODE, /* state */ - MY_UTF8MB3, /* cs name */ + charset_name_utf8, /* cs name */ MY_UTF8MB3 "_general_cs", /* name */ "", /* comment */ NULL, /* tailoring */ @@ -7809,7 +7809,7 @@ struct charset_info_st my_charset_utf8mb4_general_ci= { 45,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_UNICODE_SUPPLEMENT, /* state */ - MY_UTF8MB4, /* cs name */ + charset_name_utf8mb4, /* cs name */ MY_UTF8MB4_GENERAL_CI,/* name */ "UTF-8 Unicode", /* comment */ NULL, /* tailoring */ @@ -7843,7 +7843,7 @@ struct charset_info_st my_charset_utf8mb4_bin= 46,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE| MY_CS_UNICODE_SUPPLEMENT, /* state */ - MY_UTF8MB4, /* cs name */ + charset_name_utf8mb4, /* cs name */ MY_UTF8MB4_BIN, /* name */ "UTF-8 Unicode", /* comment */ NULL, /* tailoring */ @@ -7877,7 +7877,7 @@ struct charset_info_st my_charset_utf8mb4_general_nopad_ci= MY_NOPAD_ID(45),0,0,/* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_UNICODE_SUPPLEMENT| MY_CS_NOPAD, /* state */ - MY_UTF8MB4, /* cs name */ + charset_name_utf8mb4, /* cs name */ MY_UTF8MB4_GENERAL_NOPAD_CI,/* name */ "UTF-8 Unicode", /* comment */ NULL, /* tailoring */ @@ -7911,7 +7911,7 @@ struct charset_info_st my_charset_utf8mb4_nopad_bin= MY_NOPAD_ID(46),0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_STRNXFRM|MY_CS_UNICODE| MY_CS_UNICODE_SUPPLEMENT|MY_CS_NOPAD, /* state */ - MY_UTF8MB4, /* cs name */ + charset_name_utf8mb4, /* cs name */ MY_UTF8MB4_NOPAD_BIN, /* name */ "UTF-8 Unicode", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype-win1250ch.c b/strings/ctype-win1250ch.c index f33a83294d6..643c7a2a583 100644 --- a/strings/ctype-win1250ch.c +++ b/strings/ctype-win1250ch.c @@ -52,6 +52,7 @@ #ifdef HAVE_CHARSET_cp1250 +const char charset_name_cp1250[]= "cp1250"; static const uint16 tab_cp1250_uni[256]={ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, @@ -690,7 +691,7 @@ struct charset_info_st my_charset_cp1250_czech_ci = 34,0,0, /* number */ MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_CSSORT| MY_CS_STRNXFRM_BAD_NWEIGHTS|MY_CS_NON1TO1, /* state */ - "cp1250", /* cs name */ + charset_name_cp1250, /* cs name */ "cp1250_czech_cs", /* name */ "", /* comment */ NULL, /* tailoring */ diff --git a/strings/ctype.c b/strings/ctype.c index 4df9b9c2f09..c9977824176 100644 --- a/strings/ctype.c +++ b/strings/ctype.c @@ -36,6 +36,12 @@ */ +const char charset_name_latin2[]= "latin2"; +const char charset_name_utf8[]= "utf8"; +const char charset_name_utf16[]= "utf16"; +const char charset_name_utf32[]= "utf32"; +const char charset_name_ucs2[]= "ucs2"; +const char charset_name_utf8mb4[]= "utf8mb4"; /* Avoid using my_snprintf diff --git a/strings/strings_def.h b/strings/strings_def.h index d4f51bcd0a5..111942a9a1a 100644 --- a/strings/strings_def.h +++ b/strings/strings_def.h @@ -130,4 +130,13 @@ int my_wc_to_printable_generic(CHARSET_INFO *cs, my_wc_t wc, int my_wc_to_printable_8bit(CHARSET_INFO *cs, my_wc_t wc, uchar *s, uchar *e); +/* Some common character set names */ +extern const char charset_name_latin2[]; +extern const char charset_name_utf8[]; +extern const char charset_name_utf16[]; +extern const char charset_name_utf32[]; +extern const char charset_name_ucs2[]; +extern const char charset_name_ucs2[]; +extern const char charset_name_utf8mb4[]; + #endif /*STRINGS_DEF_INCLUDED */ |