diff options
author | gluh@gluh.mysql.r18.ru <> | 2005-01-27 18:23:05 +0300 |
---|---|---|
committer | gluh@gluh.mysql.r18.ru <> | 2005-01-27 18:23:05 +0300 |
commit | 9cb334f490cc99f4706d7d5f6fb23fed78482fb9 (patch) | |
tree | e9e2d77f6a969688fdcd04a7e1517380e2139d60 /sql | |
parent | 48488e483a082c6ff320bf9c2766c2aa2c64c4b4 (diff) | |
parent | ac14d40ddeb0e582a24e9c7697c219552fc5b988 (diff) | |
download | mariadb-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.cc | 1 | ||||
-rw-r--r-- | sql/sql_show.cc | 17 |
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; |