diff options
author | unknown <monty@mishka.mysql.fi> | 2003-10-06 22:56:34 +0300 |
---|---|---|
committer | unknown <monty@mishka.mysql.fi> | 2003-10-06 22:56:34 +0300 |
commit | 0e93376e71bd719658bbf99e413d51d7ee349dee (patch) | |
tree | 42623f3710505740b5171a6d3e6cdcb4aa119084 /mysys/charset.c | |
parent | bd7470241b0883b5bacc0f741e828a13773e7eec (diff) | |
download | mariadb-git-0e93376e71bd719658bbf99e413d51d7ee349dee.tar.gz |
Move init_compiled_charsets to own file
Remove dependency of charsets (in my_init) to get smaller binaries when charsets are not used
Simple code cleanup
client/mysql.cc:
Fixed indentation
include/my_sys.h:
Move init_compiled_charsets to own file
include/mysql.h:
Remove compiler warning
libmysql/Makefile.shared:
Move init_compiled_charsets to own file
mysys/Makefile.am:
Move init_compiled_charsets to own file
mysys/charset.c:
Move init_compiled_charsets to own file
mysys/my_init.c:
Remove dependency of charsets
scripts/mysql_create_system_tables.sh:
Remove run time warning
scripts/mysql_fix_privilege_tables.sql:
Add help tables
sql/sql_insert.cc:
Code cleanup
Diffstat (limited to 'mysys/charset.c')
-rw-r--r-- | mysys/charset.c | 101 |
1 files changed, 13 insertions, 88 deletions
diff --git a/mysys/charset.c b/mysys/charset.c index 7d0516ac81b..e97ac0675d6 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -21,9 +21,18 @@ #include <my_dir.h> #include <my_xml.h> +typedef struct +{ + int nchars; + MY_UNI_IDX uidx; +} uni_idx; + +#define PLANE_SIZE 0x100 +#define PLANE_NUM 0x100 +#define PLANE_NUMBER(x) (((x)>>8) % PLANE_NUM) -/* +/* The code below implements this functionality: - Initializing charset related structures @@ -38,6 +47,7 @@ my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2) return ((cs1 == cs2) || !strcmp(cs1->csname,cs2->csname)); } + static void set_max_sort_char(CHARSET_INFO *cs) { uchar max_char; @@ -110,37 +120,21 @@ static void init_state_maps(CHARSET_INFO *cs) state_map[(uchar)'x']= state_map[(uchar)'X']= (uchar) MY_LEX_IDENT_OR_HEX; state_map[(uchar)'b']= state_map[(uchar)'b']= (uchar) MY_LEX_IDENT_OR_BIN; state_map[(uchar)'n']= state_map[(uchar)'N']= (uchar) MY_LEX_IDENT_OR_NCHAR; - - } + static void simple_cs_init_functions(CHARSET_INFO *cs) { - if (cs->state & MY_CS_BINSORT) - { cs->coll= &my_collation_8bit_bin_handler; - } else - { cs->coll= &my_collation_8bit_simple_ci_handler; - } cs->cset= &my_charset_8bit_handler; cs->mbmaxlen = 1; } -typedef struct -{ - int nchars; - MY_UNI_IDX uidx; -} uni_idx; - -#define PLANE_SIZE 0x100 -#define PLANE_NUM 0x100 -#define PLANE_NUMBER(x) (((x)>>8) % PLANE_NUM) - static int pcmp(const void * f, const void * s) { const uni_idx *F= (const uni_idx*) f; @@ -401,82 +395,13 @@ char *get_charsets_dir(char *buf) CHARSET_INFO *all_charsets[256]; CHARSET_INFO *default_charset_info = &my_charset_latin1; -static void add_compiled_collation(CHARSET_INFO *cs) +void add_compiled_collation(CHARSET_INFO *cs) { all_charsets[cs->number]= cs; cs->state|= MY_CS_AVAILABLE; } -static my_bool init_compiled_charsets(myf flags __attribute__((unused))) -{ - CHARSET_INFO *cs; - - add_compiled_collation(&my_charset_bin); - - add_compiled_collation(&my_charset_latin1); - add_compiled_collation(&my_charset_latin1_bin); - add_compiled_collation(&my_charset_latin1_german2_ci); - -#ifdef HAVE_CHARSET_big5 - add_compiled_collation(&my_charset_big5_chinese_ci); - add_compiled_collation(&my_charset_big5_bin); -#endif - -#ifdef HAVE_CHARSET_cp1250 - add_compiled_collation(&my_charset_cp1250_czech_ci); -#endif - -#ifdef HAVE_CHARSET_latin2 - add_compiled_collation(&my_charset_latin2_czech_ci); -#endif - -#ifdef HAVE_CHARSET_euckr - add_compiled_collation(&my_charset_euckr_korean_ci); - add_compiled_collation(&my_charset_euckr_bin); -#endif - -#ifdef HAVE_CHARSET_gb2312 - add_compiled_collation(&my_charset_gb2312_chinese_ci); - add_compiled_collation(&my_charset_gb2312_bin); -#endif - -#ifdef HAVE_CHARSET_gbk - add_compiled_collation(&my_charset_gbk_chinese_ci); - add_compiled_collation(&my_charset_gbk_bin); -#endif - -#ifdef HAVE_CHARSET_sjis - add_compiled_collation(&my_charset_sjis_japanese_ci); - add_compiled_collation(&my_charset_sjis_bin); -#endif - -#ifdef HAVE_CHARSET_tis620 - add_compiled_collation(&my_charset_tis620_thai_ci); - add_compiled_collation(&my_charset_tis620_bin); -#endif - -#ifdef HAVE_CHARSET_ucs2 - add_compiled_collation(&my_charset_ucs2_general_ci); - add_compiled_collation(&my_charset_ucs2_bin); -#endif - -#ifdef HAVE_CHARSET_ujis - add_compiled_collation(&my_charset_ujis_japanese_ci); - add_compiled_collation(&my_charset_ujis_bin); -#endif - -#ifdef HAVE_CHARSET_utf8 - add_compiled_collation(&my_charset_utf8_general_ci); - add_compiled_collation(&my_charset_utf8_bin); -#endif - - /* Copy compiled charsets */ - for (cs=compiled_charsets; cs->name; cs++) - add_compiled_collation(cs); - - return FALSE; -} #ifdef __NETWARE__ my_bool STDCALL init_available_charsets(myf myflags) |