summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2006-01-18 12:27:02 +0400
committerunknown <bar@mysql.com>2006-01-18 12:27:02 +0400
commit28b5074eb4783807d33959cf207b91b900d79e60 (patch)
tree9a21a2efcf7323d74df2512d16d26dea3488f50b
parentaae478517d9dc8093476888329cf5d82b6f1a2c9 (diff)
downloadmariadb-git-28b5074eb4783807d33959cf207b91b900d79e60.tar.gz
sql_show.cc:
Don't display charsets/collations with HIDDEN flag. ctype-utf8.c: Adding HIDDEN flag to "filename" Changeing ID to 17 which was previosly used by deprecated "win1251", removed in 4.1. charset-def.c: Adding "filename" as a hidden charset, for test purposes. m_ctype.h: Adding MY_CS_HIDDEN flag, to hide charsets and collations from being displayed in SHOW. include/m_ctype.h: Adding MY_CS_HIDDEN flag, to hide charsets and collations from being displayed in SHOW. mysys/charset-def.c: Adding "filename" as a hidden charset, for test purposes. strings/ctype-utf8.c: Adding HIDDEN flag to "filename" Changeing ID to 17 which was previosly used by deprecated "win1251", removed in 4.1. sql/sql_show.cc: Don't display charsets/collations with HIDDEN flag.
-rw-r--r--include/m_ctype.h3
-rw-r--r--mysys/charset-def.c1
-rw-r--r--sql/sql_show.cc2
-rw-r--r--strings/ctype-utf8.c4
4 files changed, 7 insertions, 3 deletions
diff --git a/include/m_ctype.h b/include/m_ctype.h
index 1bdba5e3266..29fec006c7f 100644
--- a/include/m_ctype.h
+++ b/include/m_ctype.h
@@ -66,7 +66,8 @@ extern MY_UNICASE_INFO *my_unicase_turkish[256];
#define MY_CS_UNICODE 128 /* is a charset is full unicode */
#define MY_CS_READY 256 /* if a charset is initialized */
#define MY_CS_AVAILABLE 512 /* If either compiled-in or loaded*/
-#define MY_CS_CSSORT 1024 /* if case sensitive sort order */
+#define MY_CS_CSSORT 1024 /* if case sensitive sort order */
+#define MY_CS_HIDDEN 2048 /* don't display in SHOW */
#define MY_CHARSET_UNDEFINED 0
diff --git a/mysys/charset-def.c b/mysys/charset-def.c
index 0559fe59d06..835ce064b2c 100644
--- a/mysys/charset-def.c
+++ b/mysys/charset-def.c
@@ -78,6 +78,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
CHARSET_INFO *cs;
add_compiled_collation(&my_charset_bin);
+ add_compiled_collation(&my_charset_filename);
add_compiled_collation(&my_charset_latin1);
add_compiled_collation(&my_charset_latin1_bin);
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index b9bb8c766e6..53b3c26af9f 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -2835,6 +2835,7 @@ int fill_schema_charsets(THD *thd, TABLE_LIST *tables, COND *cond)
CHARSET_INFO *tmp_cs= cs[0];
if (tmp_cs && (tmp_cs->state & MY_CS_PRIMARY) &&
(tmp_cs->state & MY_CS_AVAILABLE) &&
+ !(tmp_cs->state & MY_CS_HIDDEN) &&
!(wild && wild[0] &&
wild_case_compare(scs, tmp_cs->csname,wild)))
{
@@ -2904,6 +2905,7 @@ int fill_schema_collation(THD *thd, TABLE_LIST *tables, COND *cond)
CHARSET_INFO **cl;
CHARSET_INFO *tmp_cs= cs[0];
if (!tmp_cs || !(tmp_cs->state & MY_CS_AVAILABLE) ||
+ (tmp_cs->state & MY_CS_HIDDEN) ||
!(tmp_cs->state & MY_CS_PRIMARY))
continue;
for (cl= all_charsets; cl < all_charsets+255 ;cl ++)
diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c
index 839eabe59ed..62f405f6049 100644
--- a/strings/ctype-utf8.c
+++ b/strings/ctype-utf8.c
@@ -4048,8 +4048,8 @@ static MY_CHARSET_HANDLER my_charset_filename_handler=
CHARSET_INFO my_charset_filename=
{
- 33,0,0, /* number */
- MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE, /* state */
+ 17,0,0, /* number */
+ MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_HIDDEN,
"filename", /* cs name */
"filename", /* name */
"", /* comment */