config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/innodb/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/innodb/t/innodb_wl6915.test

#
# WL#6915: InnoDB: Undo logs for temp-tables (and related objects) should
# reside in temp-tablespace
#
--source include/no_valgrind_without_big.inc
--source include/have_innodb.inc

################################################################################
#
# Will test following scenarios:
# 1. Try loading table with commit and rollback action
#    (this will ensure proper rseg is being used).
# 2. Load temp and non-temp table with purge activity.
# 3. In xa trx try loading temp + non-temp table.
#    (Same as case-2 but from xa perspective)
#
################################################################################

#-----------------------------------------------------------------------------
#
# create test-bed
#
set global innodb_file_per_table = off;
let $MYSQL_TMP_DIR = `select @@tmpdir`;
let $MYSQL_DATA_DIR = `select @@datadir`;
let SEARCH_FILE = $MYSQLTEST_VARDIR/log/my_restart.err;
let $args = --loose-console > $SEARCH_FILE 2>&1;
let crash = $args --innodb-force-recovery-crash;

#-----------------------------------------------------------------------------
#
# 1. Try loading table with commit and rollback action.
#    (this will ensure proper rseg is being used).
#
use test;
create temporary table t1
	(a int, b char(100), c char(100)) engine = innodb;
--source suite/innodb/include/innodb_undo_logs_action.inc
drop table t1;
#
create table t1
	(a int, b char(100), c char(100)) engine = innodb;
--source suite/innodb/include/innodb_undo_logs_action.inc
drop table t1;

#-----------------------------------------------------------------------------
#
# 2. Load temp and non-temp table with purge activity.
#
use test;
create temporary table t1
	(a int, b char(100), c char(100)) engine = innodb;
create table t2
	(a int, b char(100), c char(100)) engine = innodb;
delimiter |;
create procedure populate_t1_t2()
begin
	declare i int default 1;
	while (i <= 2000) DO
		insert into t1 values (i, 'a', 'b');
		insert into t2 values (i, 'a', 'b');
		set i = i + 1;
	end while;
end|
create procedure populate_t1_t2_small()
begin
	declare i int default 1;
	while (i <= 200) DO
		insert into t1 values (i, 'a', 'b');
		insert into t2 values (i, 'a', 'b');
		set i = i + 1;
	end while;
end|
delimiter ;|
begin;
call populate_t1_t2();
commit;
select count(*) from t1;
select count(*) from t2;
#
begin;
delete from t1 where a <= 100;
delete from t2 where a > 1900;
select count(*) from t1;
select count(*) from t2;
commit;
#
begin;
update t1 set b = 'innodb' where b = 'a' and a <= 1000;
update t2 set b = 'myisam' where c = 'b' and a > 1000;
commit;
#
delete from t1 where b = 'a';
delete from t2 where c = 'myisam';
select count(*) from t1;
select count(*) from t2;
#
insert into t1 values (1000000, 'mysql', 'db');
begin;
call populate_t1_t2_small();
select count(*) from t1;
select count(*) from t2;
rollback;
select count(*) from t1;
select count(*) from t2;
#
drop table t2;
drop table t1;
drop procedure populate_t1_t2;
drop procedure populate_t1_t2_small;

#-----------------------------------------------------------------------------
#
# 3. In xa trx try loading temp + non-temp table.
#    (Same as case-2 but from xa perspective)
#
create temporary table t1 (i int) engine=innodb;
create table t2 (i int) engine=innodb;
insert into t1 values (1);
insert into t2 values (101);
select * from t1;
select * from t2;
#
xa start 'tx1';
insert into t1 values (2), (3);
insert into t2 values (202), (303);
select * from t1;
select * from t2;
xa end 'tx1';
xa prepare 'tx1';
xa commit 'tx1';
select * from t1;
select * from t2;
#
xa start 'tx1';
insert into t1 values (2), (3);
insert into t2 values (202), (303);
select * from t1;
select * from t2;
xa end 'tx1';
xa prepare 'tx1';
xa rollback 'tx1';
select * from t1;
select * from t2;
#
#
xa start 'tx1';
insert into t1 values (2), (3);
select * from t1;
xa end 'tx1';
xa prepare 'tx1';
xa commit 'tx1';
select * from t1;
#
drop table t1;
drop table t2;

#-----------------------------------------------------------------------------
#
# remove test-bed
#
set global innodb_file_per_table=default;

Man Man