Bug#54422 query with = 'variables'
During creation of the table list of processed tables hidden I_S table 'VARIABLES' is erroneously added into the table list. it leads to ER_UNKNOWN_TABLE error in TABLE_LIST::add_table_to_list() function. The fix is to skip addition of hidden I_S tables into the table list. mysql-test/r/information_schema.result: test case mysql-test/t/information_schema.test: test case sql/sql_show.cc: The fix is to skip addition of hidden I_S tables into the table list.
This commit is contained in:
parent
a515a9ed23
commit
2a86768e9e
@ -1747,4 +1747,14 @@ COUNT(*)
|
||||
DROP USER nonpriv;
|
||||
DROP TABLE db1.t1;
|
||||
DROP DATABASE db1;
|
||||
|
||||
Bug#54422 query with = 'variables'
|
||||
|
||||
CREATE TABLE variables(f1 INT);
|
||||
SELECT COLUMN_DEFAULT, TABLE_NAME
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = 'variables';
|
||||
COLUMN_DEFAULT TABLE_NAME
|
||||
NULL variables
|
||||
DROP TABLE variables;
|
||||
End of 5.1 tests.
|
||||
|
@ -1445,6 +1445,15 @@ DROP USER nonpriv;
|
||||
DROP TABLE db1.t1;
|
||||
DROP DATABASE db1;
|
||||
|
||||
--echo
|
||||
--echo Bug#54422 query with = 'variables'
|
||||
--echo
|
||||
|
||||
CREATE TABLE variables(f1 INT);
|
||||
SELECT COLUMN_DEFAULT, TABLE_NAME
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = 'variables';
|
||||
DROP TABLE variables;
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
||||
|
@ -2921,7 +2921,9 @@ make_table_name_list(THD *thd, List<LEX_STRING> *table_names, LEX *lex,
|
||||
{
|
||||
if (with_i_schema)
|
||||
{
|
||||
if (find_schema_table(thd, lookup_field_vals->table_value.str))
|
||||
ST_SCHEMA_TABLE *schema_table=
|
||||
find_schema_table(thd, lookup_field_vals->table_value.str);
|
||||
if (schema_table && !schema_table->hidden)
|
||||
{
|
||||
if (table_names->push_back(&lookup_field_vals->table_value))
|
||||
return 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user