diff options
author | unknown <monty@narttu.mysql.fi> | 2003-09-24 10:24:55 +0300 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-09-24 10:24:55 +0300 |
commit | 4e09f14b18ededb18aab527abe582fca34afe79c (patch) | |
tree | 7a953ea10b82122bdf37cf7efc4cfd3fd9a20b17 /sql/sql_show.cc | |
parent | 48869febe61d1aef3e05af6bd17bab3e27b90f6d (diff) | |
parent | 07001f78eca148d143ebf7fea66f4296a19a6d51 (diff) | |
download | mariadb-git-4e09f14b18ededb18aab527abe582fca34afe79c.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into narttu.mysql.fi:/my/mysql-4.1
sql/sql_parse.cc:
Auto merged
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r-- | sql/sql_show.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 8ea78e702e5..8ed4d6d7324 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1497,11 +1497,15 @@ int mysqld_show_collations(THD *thd, const char *wild) for ( cs= all_charsets ; cs < all_charsets+255 ; cs++ ) { CHARSET_INFO **cl; + if (!cs[0] || !(cs[0]->state & MY_CS_AVAILABLE) || + !(cs[0]->state & MY_CS_PRIMARY)) + continue; for ( cl= all_charsets; cl < all_charsets+255 ;cl ++) { - if (!cs[0] || !cl[0] || !my_charset_same(cs[0],cl[0]) || !(cs[0]->state & MY_CS_PRIMARY)) + if (!cl[0] || !(cl[0]->state & MY_CS_AVAILABLE) || + !my_charset_same(cs[0],cl[0])) continue; - if (cs[0] && !(wild && wild[0] && + if (!(wild && wild[0] && wild_case_compare(system_charset_info,cl[0]->name,wild))) { if (write_collation(protocol, cl[0])) @@ -1545,8 +1549,10 @@ int mysqld_show_charsets(THD *thd, const char *wild) for ( cs= all_charsets ; cs < all_charsets+255 ; cs++ ) { - if (cs[0] && (cs[0]->state & MY_CS_PRIMARY) && !(wild && wild[0] && - wild_case_compare(system_charset_info,cs[0]->name,wild))) + if (cs[0] && (cs[0]->state & MY_CS_PRIMARY) && + (cs[0]->state & MY_CS_AVAILABLE) && + !(wild && wild[0] && + wild_case_compare(system_charset_info,cs[0]->csname,wild))) { if (write_charset(protocol, cs[0])) goto err; |