From 1494eabc85f8677de7eb8ed58b59c1097b169b14 Mon Sep 17 00:00:00 2001 From: "gluh@mysql.com/eagle.(none)" <> Date: Fri, 28 Sep 2007 17:33:30 +0500 Subject: [PATCH] Bug#30795 Query on INFORMATION_SCHEMA.SCHEMATA, wrong result skip the check of directory presence for 'information_schema' name --- mysql-test/r/information_schema.result | 4 ++++ mysql-test/t/information_schema.test | 6 ++++++ sql/sql_show.cc | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 37810e67f2a..cd0f9a7a172 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -1552,4 +1552,8 @@ VIEW_DEFINITION SELECT * FROM INFORMATION_SCHEMA.TABLES DROP VIEW v1; +SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA +WHERE SCHEMA_NAME ='information_schema'; +SCHEMA_NAME +information_schema End of 5.1 tests. diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index 90671c4e8fd..c2c0f79d66b 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -1188,4 +1188,10 @@ FROM INFORMATION_SCHEMA.TABLES; SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS where TABLE_NAME = 'v1'; DROP VIEW v1; +# +# Bug#30795 Query on INFORMATION_SCHEMA.SCHEMATA, wrong result +# +SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA +WHERE SCHEMA_NAME ='information_schema'; + --echo End of 5.1 tests. diff --git a/sql/sql_show.cc b/sql/sql_show.cc index f7813b73089..cc0cda42321 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -3339,7 +3339,8 @@ int fill_schema_schemata(THD *thd, TABLE_LIST *tables, COND *cond) /* If we have lookup db value we should check that the database exists */ - if(lookup_field_vals.db_value.str && !lookup_field_vals.wild_db_value) + if(lookup_field_vals.db_value.str && !lookup_field_vals.wild_db_value && + !with_i_schema) { char path[FN_REFLEN+16]; uint path_len;