-- source include/have_innodb.inc
set @old_innodb_file_per_table=@@innodb_file_per_table;
set @old_innodb_file_format=@@innodb_file_format;
set @old_innodb_file_format_check=@@innodb_file_format_check;

SET GLOBAL innodb_file_format='Barracuda';
SET GLOBAL innodb_file_per_table=ON;

-- disable_query_log
-- disable_result_log

DROP TABLE IF EXISTS `test1`;
CREATE TABLE IF NOT EXISTS `test1` (
 `a` int primary key auto_increment,
 `b` int default 0,
 `c` char(100) default 'testtest'
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;

delimiter |;
CREATE PROCEDURE insert_many(p1 int)
BEGIN
SET @x = 0;
SET @y = 0;
REPEAT
  insert into test1 set b=1;
  SET @x = @x + 1;
  SET @y = @y + 1;
  IF @y >= 100 THEN
    commit;
    SET @y = 0;
  END IF;
UNTIL @x >= p1 END REPEAT;
END|
delimiter ;|
call insert_many(100000);
DROP PROCEDURE insert_many;

# The bug is hangup at the following statement
ALTER TABLE test1 ENGINE=MyISAM;

DROP TABLE test1;
set global innodb_file_per_table=@old_innodb_file_per_table;
set global innodb_file_format=@old_innodb_file_format;
set global innodb_file_format_check=@old_innodb_file_format_check;