Loading mysql-test/r/temp_table.result +26 −0 Original line number Diff line number Diff line Loading @@ -97,3 +97,29 @@ Variable_name Value Created_tmp_disk_tables 0 Created_tmp_tables 2 drop table t1; create temporary table t1 as select 'This is temp. table' A; create view t1 as select 'This is view' A; select * from t1; A This is temp. table show create table t1; Table Create Table t1 CREATE TEMPORARY TABLE `t1` ( `A` varchar(19) NOT NULL default '' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 show create view t1; View Create View t1 CREATE ALGORITHM=UNDEFINED VIEW `test`.`t1` AS select _latin1'This is view' AS `A` drop view t1; select * from t1; A This is temp. table create view t1 as select 'This is view again' A; select * from t1; A This is temp. table drop table t1; select * from t1; A This is view again drop view t1; mysql-test/t/temp_table.test +15 −0 Original line number Diff line number Diff line Loading @@ -89,3 +89,18 @@ flush status; select * from t1 group by d; show status like "created_tmp%tables"; drop table t1; # Fix for BUG#8921: Check that temporary table is ingored by view commands. create temporary table t1 as select 'This is temp. table' A; create view t1 as select 'This is view' A; select * from t1; show create table t1; show create view t1; drop view t1; select * from t1; create view t1 as select 'This is view again' A; select * from t1; drop table t1; select * from t1; drop view t1; sql/sql_parse.cc +4 −0 Original line number Diff line number Diff line Loading @@ -3010,6 +3010,10 @@ mysql_execute_command(THD *thd) goto error; #else { /* Ignore temporary tables if this is "SHOW CREATE VIEW" */ if (lex->only_view) first_table->skip_temporary= 1; if (check_db_used(thd, all_tables) || check_access(thd, SELECT_ACL | EXTRA_ACL, first_table->db, &first_table->grant.privilege, 0, 0)) Loading Loading
mysql-test/r/temp_table.result +26 −0 Original line number Diff line number Diff line Loading @@ -97,3 +97,29 @@ Variable_name Value Created_tmp_disk_tables 0 Created_tmp_tables 2 drop table t1; create temporary table t1 as select 'This is temp. table' A; create view t1 as select 'This is view' A; select * from t1; A This is temp. table show create table t1; Table Create Table t1 CREATE TEMPORARY TABLE `t1` ( `A` varchar(19) NOT NULL default '' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 show create view t1; View Create View t1 CREATE ALGORITHM=UNDEFINED VIEW `test`.`t1` AS select _latin1'This is view' AS `A` drop view t1; select * from t1; A This is temp. table create view t1 as select 'This is view again' A; select * from t1; A This is temp. table drop table t1; select * from t1; A This is view again drop view t1;
mysql-test/t/temp_table.test +15 −0 Original line number Diff line number Diff line Loading @@ -89,3 +89,18 @@ flush status; select * from t1 group by d; show status like "created_tmp%tables"; drop table t1; # Fix for BUG#8921: Check that temporary table is ingored by view commands. create temporary table t1 as select 'This is temp. table' A; create view t1 as select 'This is view' A; select * from t1; show create table t1; show create view t1; drop view t1; select * from t1; create view t1 as select 'This is view again' A; select * from t1; drop table t1; select * from t1; drop view t1;
sql/sql_parse.cc +4 −0 Original line number Diff line number Diff line Loading @@ -3010,6 +3010,10 @@ mysql_execute_command(THD *thd) goto error; #else { /* Ignore temporary tables if this is "SHOW CREATE VIEW" */ if (lex->only_view) first_table->skip_temporary= 1; if (check_db_used(thd, all_tables) || check_access(thd, SELECT_ACL | EXTRA_ACL, first_table->db, &first_table->grant.privilege, 0, 0)) Loading