From dd93a7994ae99a05e57bee815eae718ef88c00ca Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Mar 2003 12:54:34 +0400 Subject: [PATCH] Case insensitivrly has been added in charset and collation names. --- mysql-test/r/ctype_collate.result | 4 ++++ mysql-test/t/ctype_collate.test | 2 ++ mysys/charset.c | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/ctype_collate.result b/mysql-test/r/ctype_collate.result index 70f3eb50d00..21429709d93 100644 --- a/mysql-test/r/ctype_collate.result +++ b/mysql-test/r/ctype_collate.result @@ -528,6 +528,10 @@ SET NAMES latin1 COLLATE latin1_bin; SHOW VARIABLES LIKE 'client_collation'; Variable_name Value client_collation latin1_bin +SET NAMES LATIN1 COLLATE Latin1_Bin; +SHOW VARIABLES LIKE 'client_collation'; +Variable_name Value +client_collation latin1_bin SET NAMES 'latin1' COLLATE 'latin1_bin'; SHOW VARIABLES LIKE 'client_collation'; Variable_name Value diff --git a/mysql-test/t/ctype_collate.test b/mysql-test/t/ctype_collate.test index 7fd3229e1a4..c2ebf39170e 100644 --- a/mysql-test/t/ctype_collate.test +++ b/mysql-test/t/ctype_collate.test @@ -135,6 +135,8 @@ SHOW VARIABLES LIKE 'client_collation'; SELECT charset('a'),collation('a'),coercibility('a'),'a'='A'; SET NAMES latin1 COLLATE latin1_bin; SHOW VARIABLES LIKE 'client_collation'; +SET NAMES LATIN1 COLLATE Latin1_Bin; +SHOW VARIABLES LIKE 'client_collation'; SET NAMES 'latin1' COLLATE 'latin1_bin'; SHOW VARIABLES LIKE 'client_collation'; SELECT charset('a'),collation('a'),coercibility('a'),'a'='A'; diff --git a/mysys/charset.c b/mysys/charset.c index b1abd460c2e..8bc250a3f07 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -479,7 +479,7 @@ uint get_charset_number(const char *charset_name) for (cs= all_charsets; cs < all_charsets+255; ++cs) { - if ( cs[0] && cs[0]->name && !strcmp(cs[0]->name, charset_name)) + if ( cs[0] && cs[0]->name && !strcasecmp(cs[0]->name, charset_name)) return cs[0]->number; } return 0; /* this mimics find_type() */ @@ -593,7 +593,7 @@ CHARSET_INFO *get_charset_by_csname(const char *cs_name, for (css= all_charsets; css < all_charsets+255; ++css) { if ( css[0] && (css[0]->state & cs_flags) && - css[0]->csname && !strcmp(css[0]->csname, cs_name)) + css[0]->csname && !strcasecmp(css[0]->csname, cs_name)) { cs= css[0]->number ? get_internal_charset(css[0]->number,flags) : NULL; break;