1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

5.0->bugteam->5.1-bugteam merge

This commit is contained in:
Sergey Glukhov
2009-02-18 16:09:46 +04:00
4 changed files with 36 additions and 4 deletions

View File

@ -0,0 +1,9 @@
set names utf8;
create table `Ö` (id int);
show tables from test like 'Ö';
Tables_in_test (Ö)
ö
show tables from test like 'ö';
Tables_in_test (ö)
ö
drop table `Ö`;

View File

@ -0,0 +1,4 @@
--lower-case-table-names=1 --character-set-server=utf8

View File

@ -0,0 +1,9 @@
#
# Bug#25830 SHOW TABLE STATUS behaves differently depending on table name
#
set names utf8;
create table `Ö` (id int);
show tables from test like 'Ö';
show tables from test like 'ö';
drop table `Ö`;

View File

@ -468,11 +468,18 @@ find_files(THD *thd, List<LEX_STRING> *files, const char *db,
#ifndef NO_EMBEDDED_ACCESS_CHECKS #ifndef NO_EMBEDDED_ACCESS_CHECKS
uint col_access=thd->col_access; uint col_access=thd->col_access;
#endif #endif
uint wild_length= 0;
TABLE_LIST table_list; TABLE_LIST table_list;
DBUG_ENTER("find_files"); DBUG_ENTER("find_files");
if (wild && !wild[0]) if (wild)
wild=0; {
if (!wild[0])
wild= 0;
else
wild_length= strlen(wild);
}
bzero((char*) &table_list,sizeof(table_list)); bzero((char*) &table_list,sizeof(table_list));
@ -537,8 +544,11 @@ find_files(THD *thd, List<LEX_STRING> *files, const char *db,
{ {
if (lower_case_table_names) if (lower_case_table_names)
{ {
if (wild_case_compare(files_charset_info, uname, wild)) if (my_wildcmp(files_charset_info,
continue; uname, uname + file_name_len,
wild, wild + wild_length,
wild_prefix, wild_one,wild_many))
continue;
} }
else if (wild_compare(uname, wild, 0)) else if (wild_compare(uname, wild, 0))
continue; continue;