Commit c4be6886 authored by lenz@mysql.com's avatar lenz@mysql.com

Merge lgrimmer@build.mysql.com:/home/bk/mysql-5.0

into mysql.com:/space/my/mysql-5.0
parents ebf1f94c 5344528b
...@@ -978,6 +978,17 @@ call bug2227(9)| ...@@ -978,6 +978,17 @@ call bug2227(9)|
1.3 x y 42 z 1.3 x y 42 z
1.3 9 2.6 42 zzz 1.3 9 2.6 42 zzz
drop procedure bug2227| drop procedure bug2227|
create procedure bug2614()
begin
drop table if exists t3;
create table t3 (id int default '0' not null);
insert into t3 select 12;
insert into t3 select * from t3;
end|
call bug2614()|
call bug2614()|
drop table t3|
drop procedure bug2614|
drop table if exists fac| drop table if exists fac|
create table fac (n int unsigned not null primary key, f bigint unsigned)| create table fac (n int unsigned not null primary key, f bigint unsigned)|
create procedure ifac(n int unsigned) create procedure ifac(n int unsigned)
......
...@@ -1120,6 +1120,24 @@ end| ...@@ -1120,6 +1120,24 @@ end|
call bug2227(9)| call bug2227(9)|
drop procedure bug2227| drop procedure bug2227|
#
# BUG#2614
#
create procedure bug2614()
begin
drop table if exists t3;
create table t3 (id int default '0' not null);
insert into t3 select 12;
insert into t3 select * from t3;
end|
--disable_warnings
call bug2614()|
--enable_warnings
call bug2614()|
drop table t3|
drop procedure bug2614|
# #
# Some "real" examples # Some "real" examples
...@@ -1299,7 +1317,6 @@ show create procedure bar| ...@@ -1299,7 +1317,6 @@ show create procedure bar|
--replace_column 4 '0000-00-00 00:00:00' 5 '0000-00-00 00:00:00' --replace_column 4 '0000-00-00 00:00:00' 5 '0000-00-00 00:00:00'
show procedure status like 'bar'| show procedure status like 'bar'|
drop procedure bar| drop procedure bar|
delimiter ;| delimiter ;|
drop table t1; drop table t1;
drop table t2; drop table t2;
...@@ -1115,10 +1115,12 @@ int handler::delete_all_rows() ...@@ -1115,10 +1115,12 @@ int handler::delete_all_rows()
bool handler::caching_allowed(THD* thd, char* table_key, bool handler::caching_allowed(THD* thd, char* table_key,
uint key_length, uint8 cache_type) uint key_length, uint8 cache_type)
{ {
#ifdef HAVE_INNOBASE_DB
if (cache_type == HA_CACHE_TBL_ASKTRANSACT) if (cache_type == HA_CACHE_TBL_ASKTRANSACT)
return innobase_query_caching_of_table_permitted(thd, table_key, return innobase_query_caching_of_table_permitted(thd, table_key,
key_length); key_length);
else else
#endif
return 1; return 1;
} }
......
...@@ -852,6 +852,11 @@ sp_instr_stmt::exec_stmt(THD *thd, LEX *lex) ...@@ -852,6 +852,11 @@ sp_instr_stmt::exec_stmt(THD *thd, LEX *lex)
{ {
TABLE_LIST *tabs; TABLE_LIST *tabs;
if (lex->sql_command == SQLCOM_CREATE_TABLE ||
lex->sql_command == SQLCOM_INSERT_SELECT)
{ // Restore sl->table_list.first
sl->table_list.first= sl->table_list_first_copy;
}
// We have closed all tables, get rid of pointers to them // We have closed all tables, get rid of pointers to them
for (tabs=(TABLE_LIST *)sl->table_list.first ; for (tabs=(TABLE_LIST *)sl->table_list.first ;
tabs ; tabs ;
...@@ -859,11 +864,6 @@ sp_instr_stmt::exec_stmt(THD *thd, LEX *lex) ...@@ -859,11 +864,6 @@ sp_instr_stmt::exec_stmt(THD *thd, LEX *lex)
{ {
tabs->table= NULL; tabs->table= NULL;
} }
if (lex->sql_command == SQLCOM_CREATE_TABLE ||
lex->sql_command == SQLCOM_INSERT_SELECT)
{ // Restore sl->table_list.first
sl->table_list.first= sl->table_list_first_copy;
}
for (ORDER *order= (ORDER *)sl->order_list.first ; for (ORDER *order= (ORDER *)sl->order_list.first ;
order ; order ;
order= order->next) order= order->next)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment