summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <gluh@eagle.intranet.mysql.r18.ru>2005-12-19 14:46:54 +0400
committerunknown <gluh@eagle.intranet.mysql.r18.ru>2005-12-19 14:46:54 +0400
commit959ce2410704ad6cfa7a477e636cd75e257d9cfd (patch)
tree76e187f35a35611c5a23bae59d5d98ab6c9544af
parent1d3c2fa4e7ea4d29f50a96c48624d152a25bbf8e (diff)
downloadmariadb-git-959ce2410704ad6cfa7a477e636cd75e257d9cfd.tar.gz
Bug#12770 DESC cannot display the info. about temporary table
Bug#14387 SHOW COLUMNS doesn't work on temporary tables. Bug#15224 SHOW INDEX from temporary table doesn't work. Restore thd->temporary_tables to be able to process temporary tables(only for 'show index' & 'show columns'). This should be changed when processing of temporary tables for I_S tables will be done. mysql-test/r/information_schema.result: Bug#12770 DESC cannot display the info. about temporary table Bug#14387 SHOW COLUMNS doesn't work on temporary tables. Bug#15224 SHOW INDEX from temporary table doesn't work. test case mysql-test/t/information_schema.test: Bug#12770 DESC cannot display the info. about temporary table Bug#14387 SHOW COLUMNS doesn't work on temporary tables. Bug#15224 SHOW INDEX from temporary table doesn't work. test case
-rw-r--r--mysql-test/r/information_schema.result11
-rw-r--r--mysql-test/t/information_schema.test11
-rw-r--r--sql/sql_show.cc8
3 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result
index 6224b30b70e..5e34c41dfb2 100644
--- a/mysql-test/r/information_schema.result
+++ b/mysql-test/r/information_schema.result
@@ -1056,3 +1056,14 @@ where table_name="v1";
table_type
VIEW
drop view v1;
+create temporary table t1(f1 int, index(f1));
+show columns from t1;
+Field Type Null Key Default Extra
+f1 int(11) YES MUL NULL
+describe t1;
+Field Type Null Key Default Extra
+f1 int(11) YES MUL NULL
+show indexes from t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
+t1 1 f1 1 f1 A NULL NULL NULL YES BTREE
+drop table t1;
diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test
index acbc62f1364..b982047cec7 100644
--- a/mysql-test/t/information_schema.test
+++ b/mysql-test/t/information_schema.test
@@ -748,3 +748,14 @@ drop table t1;
select table_type from information_schema.tables
where table_name="v1";
drop view v1;
+
+#
+# Bug #14387 SHOW COLUMNS doesn't work on temporary tables
+# Bug #15224 SHOW INDEX from temporary table doesn't work
+# Bug #12770 DESC cannot display the info. about temporary table
+#
+create temporary table t1(f1 int, index(f1));
+show columns from t1;
+describe t1;
+show indexes from t1;
+drop table t1;
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 82870d46e6c..dc6c141bef7 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -2069,6 +2069,13 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
bool res;
lex->all_selects_list= lsel;
+ /*
+ Restore thd->temporary_tables to be able to process
+ temporary tables(only for 'show index' & 'show columns').
+ This should be changed when processing of temporary tables for
+ I_S tables will be done.
+ */
+ thd->temporary_tables= open_tables_state_backup.temporary_tables;
res= open_normal_and_derived_tables(thd, show_table_list,
MYSQL_LOCK_IGNORE_FLUSH);
/*
@@ -2088,6 +2095,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
show_table_list->view_db.str :
show_table_list->db),
show_table_list->alias));
+ thd->temporary_tables= 0;
close_thread_tables(thd);
show_table_list->table= 0;
goto err;