Browse Source

powermacg5 problem fix

we need a copy of I_S name because the name can be changed in case of lowercase_table_name!=0
pull/73/head
gluh@mysql.com/eagle.(none) 19 years ago
parent
commit
481cb830d1
  1. 10
      sql/sql_show.cc

10
sql/sql_show.cc

@ -2535,6 +2535,10 @@ int make_db_list(THD *thd, List<LEX_STRING> *files,
LOOKUP_FIELD_VALUES *lookup_field_vals, LOOKUP_FIELD_VALUES *lookup_field_vals,
bool *with_i_schema) bool *with_i_schema)
{ {
LEX_STRING *i_s_name_copy= 0;
i_s_name_copy= thd->make_lex_string(i_s_name_copy,
INFORMATION_SCHEMA_NAME.str,
INFORMATION_SCHEMA_NAME.length, TRUE);
*with_i_schema= 0; *with_i_schema= 0;
if (lookup_field_vals->wild_db_value) if (lookup_field_vals->wild_db_value)
{ {
@ -2549,7 +2553,7 @@ int make_db_list(THD *thd, List<LEX_STRING> *files,
lookup_field_vals->db_value.str)) lookup_field_vals->db_value.str))
{ {
*with_i_schema= 1; *with_i_schema= 1;
if (files->push_back(&INFORMATION_SCHEMA_NAME))
if (files->push_back(i_s_name_copy))
return 1; return 1;
} }
return (find_files(thd, files, NullS, mysql_data_home, return (find_files(thd, files, NullS, mysql_data_home,
@ -2567,7 +2571,7 @@ int make_db_list(THD *thd, List<LEX_STRING> *files,
lookup_field_vals->db_value.str)) lookup_field_vals->db_value.str))
{ {
*with_i_schema= 1; *with_i_schema= 1;
if (files->push_back(&INFORMATION_SCHEMA_NAME))
if (files->push_back(i_s_name_copy))
return 1; return 1;
return 0; return 0;
} }
@ -2580,7 +2584,7 @@ int make_db_list(THD *thd, List<LEX_STRING> *files,
Create list of existing databases. It is used in case Create list of existing databases. It is used in case
of select from information schema table of select from information schema table
*/ */
if (files->push_back(&INFORMATION_SCHEMA_NAME))
if (files->push_back(i_s_name_copy))
return 1; return 1;
*with_i_schema= 1; *with_i_schema= 1;
return (find_files(thd, files, NullS, return (find_files(thd, files, NullS,

Loading…
Cancel
Save