diff options
author | bar@bar.mysql.r18.ru <> | 2003-01-04 14:12:20 +0400 |
---|---|---|
committer | bar@bar.mysql.r18.ru <> | 2003-01-04 14:12:20 +0400 |
commit | a172e5ad2a9bcc56d2a28b0da09aa155a0c0dfb2 (patch) | |
tree | 43f10d041f0f37a8e361f86eb0f69bdf64ef0864 /sql/sql_show.cc | |
parent | 259b79beac17909b7598371df951dc1c581728cc (diff) | |
download | mariadb-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.cc | 15 |
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()) |