summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorbar@bar.mysql.r18.ru <>2003-01-04 14:12:20 +0400
committerbar@bar.mysql.r18.ru <>2003-01-04 14:12:20 +0400
commita172e5ad2a9bcc56d2a28b0da09aa155a0c0dfb2 (patch)
tree43f10d041f0f37a8e361f86eb0f69bdf64ef0864 /sql/sql_show.cc
parent259b79beac17909b7598371df951dc1c581728cc (diff)
downloadmariadb-git-a172e5ad2a9bcc56d2a28b0da09aa155a0c0dfb2.tar.gz
Some changes to separate charset and collation terms
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index fb7f479bca0..ac9cc6b3002 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1362,10 +1362,14 @@ int mysqld_show_charsets(THD *thd, const char *wild)
List<Item> field_list;
CHARSET_INFO **cs;
Protocol *protocol= thd->protocol;
+ char flags[64];
+
DBUG_ENTER("mysqld_show_charsets");
- field_list.push_back(new Item_empty_string("Name",30));
+ field_list.push_back(new Item_empty_string("CS_Name",30));
+ field_list.push_back(new Item_empty_string("COL_Name",30));
field_list.push_back(new Item_return_int("Id",11, FIELD_TYPE_SHORT));
+ field_list.push_back(new Item_empty_string("Flags",30));
field_list.push_back(new Item_return_int("strx_maxlen",3, FIELD_TYPE_TINY));
field_list.push_back(new Item_return_int("mb_maxlen",3, FIELD_TYPE_TINY));
@@ -1374,14 +1378,17 @@ int mysqld_show_charsets(THD *thd, const char *wild)
for (cs=all_charsets ; cs < all_charsets+255 ; cs++ )
{
- if (!cs[0])
- continue;
- if (!(wild && wild[0] &&
+ if (cs[0] && !(wild && wild[0] &&
wild_case_compare(system_charset_info,cs[0]->name,wild)))
{
protocol->prepare_for_resend();
+ protocol->store(cs[0]->csname);
protocol->store(cs[0]->name);
protocol->store_short((longlong) cs[0]->number);
+ flags[0]='\0';
+ if (cs[0]->state & MY_CS_PRIMARY)
+ strcat(flags,"pri");
+ protocol->store(flags);
protocol->store_tiny((longlong) cs[0]->strxfrm_multiply);
protocol->store_tiny((longlong) cs[0]->mbmaxlen);
if (protocol->write())