Commit cc0e156e authored by unknown's avatar unknown

Merge april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.0

into  april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.1-new


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_delete.cc:
  Manual merge
parents 6de776f7 b3dad934
...@@ -4821,6 +4821,17 @@ begin ...@@ -4821,6 +4821,17 @@ begin
declare x int; declare x int;
select id from t1 order by x; select id from t1 order by x;
end| end|
drop procedure if exists bug14945|
create table t3 (id int not null auto_increment primary key)|
create procedure bug14945() deterministic truncate t3|
insert into t3 values (null)|
call bug14945()|
insert into t3 values (null)|
select * from t3|
id
1
drop table t3|
drop procedure bug14945|
create procedure bug16474_2(x int) create procedure bug16474_2(x int)
select id from t1 order by x| select id from t1 order by x|
call bug16474_1()| call bug16474_1()|
......
...@@ -5672,6 +5672,21 @@ begin ...@@ -5672,6 +5672,21 @@ begin
select id from t1 order by x; select id from t1 order by x;
end| end|
#
# BUG#14945: Truncate table doesn't reset the auto_increment counter
#
--disable_warnings
drop procedure if exists bug14945|
--enable_warnings
create table t3 (id int not null auto_increment primary key)|
create procedure bug14945() deterministic truncate t3|
insert into t3 values (null)|
call bug14945()|
insert into t3 values (null)|
select * from t3|
drop table t3|
drop procedure bug14945|
# This does NOT order by column index; variable is an expression. # This does NOT order by column index; variable is an expression.
create procedure bug16474_2(x int) create procedure bug16474_2(x int)
select id from t1 order by x| select id from t1 order by x|
......
...@@ -916,8 +916,7 @@ bool mysql_truncate(THD *thd, TABLE_LIST *table_list, bool dont_send_ok) ...@@ -916,8 +916,7 @@ bool mysql_truncate(THD *thd, TABLE_LIST *table_list, bool dont_send_ok)
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
} }
if (!ha_check_storage_engine_flag(ha_resolve_by_legacy_type(thd, table_type), if (!ha_check_storage_engine_flag(ha_resolve_by_legacy_type(thd, table_type),
HTON_CAN_RECREATE) HTON_CAN_RECREATE))
|| thd->lex->sphead)
goto trunc_by_del; goto trunc_by_del;
if (lock_and_wait_for_table_name(thd, table_list)) if (lock_and_wait_for_table_name(thd, table_list))
......
...@@ -3387,7 +3387,7 @@ mysql_execute_command(THD *thd) ...@@ -3387,7 +3387,7 @@ mysql_execute_command(THD *thd)
Don't allow this within a transaction because we want to use Don't allow this within a transaction because we want to use
re-generate table re-generate table
*/ */
if ((thd->locked_tables && !lex->sphead) || thd->active_transaction()) if (thd->locked_tables || thd->active_transaction())
{ {
my_message(ER_LOCK_OR_ACTIVE_TRANSACTION, my_message(ER_LOCK_OR_ACTIVE_TRANSACTION,
ER(ER_LOCK_OR_ACTIVE_TRANSACTION), MYF(0)); ER(ER_LOCK_OR_ACTIVE_TRANSACTION), MYF(0));
......
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