summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorgluh@gluh.mysql.r18.ru <>2005-01-27 18:23:05 +0300
committergluh@gluh.mysql.r18.ru <>2005-01-27 18:23:05 +0300
commit9cb334f490cc99f4706d7d5f6fb23fed78482fb9 (patch)
treee9e2d77f6a969688fdcd04a7e1517380e2139d60 /sql
parent48488e483a082c6ff320bf9c2766c2aa2c64c4b4 (diff)
parentac14d40ddeb0e582a24e9c7697c219552fc5b988 (diff)
downloadmariadb-git-9cb334f490cc99f4706d7d5f6fb23fed78482fb9.tar.gz
Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-5.0.last
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_parse.cc1
-rw-r--r--sql/sql_show.cc17
2 files changed, 14 insertions, 4 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index c0bcaf771a5..7205baae59e 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -5339,6 +5339,7 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
ptr->table_name, information_schema_name.str);
DBUG_RETURN(0);
}
+ ptr->schema_table_name= ptr->table_name;
ptr->schema_table= schema_table;
}
ptr->select_lex= lex->current_select;
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index b909e9cec1b..defa99f3a36 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1802,7 +1802,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
res= open_and_lock_tables(thd, show_table_list);
if (schema_table->process_table(thd, show_table_list,
table, res, show_table_list->db,
- show_table_list->table_name))
+ show_table_list->alias))
{
DBUG_RETURN(1);
}
@@ -1911,7 +1911,8 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
show_table_list->lock_type= lock_type;
res= open_and_lock_tables(thd, show_table_list);
if (schema_table->process_table(thd, show_table_list, table,
- res, base_name, file_name))
+ res, base_name,
+ show_table_list->alias))
{
DBUG_RETURN(1);
}
@@ -3183,8 +3184,16 @@ int mysql_schema_table(THD *thd, LEX *lex, TABLE_LIST *table_list)
}
table->s->tmp_table= TMP_TABLE;
table->grant.privilege= SELECT_ACL;
- table->alias_name_used= 0;
- table_list->schema_table_name= table_list->table_name;
+ /*
+ This test is necessary to make
+ case insensitive file systems +
+ upper case table names(information schema tables) +
+ views
+ working correctly
+ */
+ table->alias_name_used= my_strcasecmp(table_alias_charset,
+ table_list->schema_table_name,
+ table_list->alias);
table_list->table_name= (char*) table->s->table_name;
table_list->table= table;
table->next= thd->derived_tables;