mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 10:31:54 +01:00
Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.0
This commit is contained in:
commit
85ff7bec70
4 changed files with 28 additions and 3 deletions
|
@ -4811,6 +4811,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()|
|
||||||
|
|
|
@ -5666,6 +5666,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|
|
||||||
|
|
|
@ -842,8 +842,7 @@ bool mysql_truncate(THD *thd, TABLE_LIST *table_list, bool dont_send_ok)
|
||||||
table_list->db, table_list->table_name);
|
table_list->db, table_list->table_name);
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
}
|
}
|
||||||
if (!ha_check_storage_engine_flag(table_type, HTON_CAN_RECREATE)
|
if (!ha_check_storage_engine_flag(table_type, 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))
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
|
|
|
@ -3350,7 +3350,7 @@ end_with_restore_list:
|
||||||
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));
|
||||||
|
|
Loading…
Add table
Reference in a new issue