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

MDEV-19490 show tables fails when selecting the information_schema database

The bug was that when using mysql_list_fields, then
table_list->schema_table_name was not filled in.
Fixed by using table_list->schema_table instead, which is always
filled in.
This commit is contained in:
Monty
2019-05-16 18:30:31 +03:00
parent 5f66c58f6d
commit ef04a7123a
2 changed files with 23 additions and 3 deletions

View File

@ -3398,8 +3398,7 @@ open_and_process_table(THD *thd, TABLE_LIST *tables, uint *counter, uint flags,
Check whether the information schema contains a table
whose name is tables->schema_table_name
*/
ST_SCHEMA_TABLE *schema_table;
schema_table= find_schema_table(thd, tables->schema_table_name);
ST_SCHEMA_TABLE *schema_table= tables->schema_table;
if (!schema_table ||
(schema_table->hidden &&
((sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0 ||
@ -3410,7 +3409,7 @@ open_and_process_table(THD *thd, TABLE_LIST *tables, uint *counter, uint flags,
lex->sql_command == SQLCOM_SHOW_KEYS)))
{
my_error(ER_UNKNOWN_TABLE, MYF(0),
tables->schema_table_name, INFORMATION_SCHEMA_NAME.str);
tables->table_name, INFORMATION_SCHEMA_NAME.str);
DBUG_RETURN(1);
}
}