mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	into neptunus.(none):/home/msvensson/mysql/same_tools/my51-same_tools BitKeeper/deleted/.del-mtr_stress.pl: Auto merged BitKeeper/deleted/.del-ps_6bdb.result: Auto merged BitKeeper/deleted/.del-rpl000018.result: Auto merged BitKeeper/deleted/.del-rpl000018.test: Auto merged BitKeeper/deleted/.del-rpl_chain_temp_table.result: Auto merged BitKeeper/deleted/.del-rpl_chain_temp_table.test: Auto merged BitKeeper/deleted/.del-rpl_failsafe.result: Auto merged BitKeeper/deleted/.del-rpl_failsafe.test: Auto merged BitKeeper/deleted/.del-rpl_heap.result: Auto merged BitKeeper/deleted/.del-rpl_heap.test: Auto merged mysql-test/include/have_ndb.inc: Auto merged mysql-test/include/master-slave.inc: Auto merged mysql-test/lib/mtr_misc.pl: Auto merged mysql-test/lib/mtr_report.pl: Auto merged mysql-test/r/binlog_stm_mix_innodb_myisam.result: Auto merged mysql-test/r/connect.result: Auto merged mysql-test/r/csv.result: Auto merged mysql-test/r/drop.result: Auto merged mysql-test/r/flush_block_commit.result: Auto merged mysql-test/r/func_misc.result: Auto merged mysql-test/r/grant2.result: Auto merged mysql-test/r/handler_myisam.result: Auto merged mysql-test/r/multi_update.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_7ndb.result: Auto merged mysql-test/r/query_cache.result: Auto merged mysql-test/r/query_cache_notembedded.result: Auto merged mysql-test/r/rpl_err_ignoredtable.result: Auto merged mysql-test/r/rpl_master_pos_wait.result: Auto merged mysql-test/r/rpl_stm_000001.result: Auto merged mysql-test/r/sp-threads.result: Auto merged mysql-test/r/sp_notembedded.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/synchronization.result: Auto merged mysql-test/r/type_blob.result: Auto merged mysql-test/t/connect.test: Auto merged mysql-test/t/csv.test: Auto merged mysql-test/t/mysql_client_test.test: Auto merged mysql-test/t/ps.test: Auto merged mysql-test/t/ps_1general.test: Auto merged mysql-test/t/ps_grant.test: Auto merged mysql-test/t/query_cache.test: Auto merged mysql-test/t/rpl_trunc_temp.test: Auto merged mysql-test/t/sp-error.test: Auto merged mysql-test/t/sp_notembedded.test: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/view_grant.test: Auto merged mysql-test/extra/rpl_tests/rpl_flsh_tbls.test: SCCS merged
		
			
				
	
	
		
			382 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			382 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| drop table if exists t1, t2;
 | |
| create table t1 (a int) engine=innodb;
 | |
| create table t2 (a int) engine=myisam;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(1);
 | |
| insert into t2 select * from t1;
 | |
| commit;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(1)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(2);
 | |
| insert into t2 select * from t1;
 | |
| rollback;
 | |
| Warnings:
 | |
| Warning	1196	Some non-transactional changed tables couldn't be rolled back
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(2)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| master-bin.000001	#	Query	1	#	use `test`; ROLLBACK
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(3);
 | |
| savepoint my_savepoint;
 | |
| insert into t1 values(4);
 | |
| insert into t2 select * from t1;
 | |
| rollback to savepoint my_savepoint;
 | |
| Warnings:
 | |
| Warning	1196	Some non-transactional changed tables couldn't be rolled back
 | |
| commit;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(3)
 | |
| master-bin.000001	#	Query	1	#	use `test`; savepoint my_savepoint
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(4)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| master-bin.000001	#	Query	1	#	use `test`; rollback to savepoint my_savepoint
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(5);
 | |
| savepoint my_savepoint;
 | |
| insert into t1 values(6);
 | |
| insert into t2 select * from t1;
 | |
| rollback to savepoint my_savepoint;
 | |
| Warnings:
 | |
| Warning	1196	Some non-transactional changed tables couldn't be rolled back
 | |
| insert into t1 values(7);
 | |
| commit;
 | |
| select a from t1 order by a;
 | |
| a
 | |
| 5
 | |
| 7
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(5)
 | |
| master-bin.000001	#	Query	1	#	use `test`; savepoint my_savepoint
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(6)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| master-bin.000001	#	Query	1	#	use `test`; rollback to savepoint my_savepoint
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(7)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| select get_lock("a",10);
 | |
| get_lock("a",10)
 | |
| 1
 | |
| begin;
 | |
| insert into t1 values(8);
 | |
| insert into t2 select * from t1;
 | |
| select get_lock("a",10);
 | |
| get_lock("a",10)
 | |
| 1
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(8)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| master-bin.000001	#	Query	1	#	use `test`; ROLLBACK
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| insert into t1 values(9);
 | |
| insert into t2 select * from t1;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(9)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| insert into t1 values(10);
 | |
| begin;
 | |
| insert into t2 select * from t1;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(10)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| insert into t1 values(11);
 | |
| commit;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(10)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(11)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| alter table t2 engine=INNODB;
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(12);
 | |
| insert into t2 select * from t1;
 | |
| commit;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(12)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 select * from t1
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(13);
 | |
| insert into t2 select * from t1;
 | |
| rollback;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(14);
 | |
| savepoint my_savepoint;
 | |
| insert into t1 values(15);
 | |
| insert into t2 select * from t1;
 | |
| rollback to savepoint my_savepoint;
 | |
| commit;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(14)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| reset master;
 | |
| begin;
 | |
| insert into t1 values(16);
 | |
| savepoint my_savepoint;
 | |
| insert into t1 values(17);
 | |
| insert into t2 select * from t1;
 | |
| rollback to savepoint my_savepoint;
 | |
| insert into t1 values(18);
 | |
| commit;
 | |
| select a from t1 order by a;
 | |
| a
 | |
| 16
 | |
| 18
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(16)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(18)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| delete from t1;
 | |
| delete from t2;
 | |
| alter table t2 engine=MyISAM;
 | |
| insert into t1 values (1);
 | |
| begin;
 | |
| select * from t1 for update;
 | |
| a
 | |
| 1
 | |
| select (@before:=unix_timestamp())*0;
 | |
| (@before:=unix_timestamp())*0
 | |
| 0
 | |
| begin;
 | |
| select * from t1 for update;
 | |
| insert into t2 values (20);
 | |
| ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 | |
| select (@after:=unix_timestamp())*0;
 | |
| (@after:=unix_timestamp())*0
 | |
| 0
 | |
| select (@after-@before) >= 2;
 | |
| (@after-@before) >= 2
 | |
| 1
 | |
| drop table t1,t2;
 | |
| commit;
 | |
| begin;
 | |
| create temporary table ti (a int) engine=innodb;
 | |
| rollback;
 | |
| insert into ti values(1);
 | |
| set autocommit=0;
 | |
| create temporary table t1 (a int) engine=myisam;
 | |
| commit;
 | |
| insert t1 values (1);
 | |
| rollback;
 | |
| Warnings:
 | |
| Warning	1196	Some non-transactional changed tables couldn't be rolled back
 | |
| create table t0 (n int);
 | |
| insert t0 select * from t1;
 | |
| set autocommit=1;
 | |
| insert into t0 select GET_LOCK("lock1",null);
 | |
| set autocommit=0;
 | |
| create table t2 (n int) engine=innodb;
 | |
| insert into t2 values (3);
 | |
| select get_lock("lock1",60);
 | |
| get_lock("lock1",60)
 | |
| 1
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(16)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values(18)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; delete from t1
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; delete from t2
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; alter table t2 engine=MyISAM
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t1 values (1)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t2 values (20)
 | |
| master-bin.000001	#	Query	1	#	use `test`; drop table t1,t2
 | |
| master-bin.000001	#	Query	1	#	use `test`; create temporary table ti (a int) engine=innodb
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into ti values(1)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; create temporary table t1 (a int) engine=myisam
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert t1 values (1)
 | |
| master-bin.000001	#	Query	1	#	use `test`; create table t0 (n int)
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert t0 select * from t1
 | |
| master-bin.000001	#	Query	1	#	use `test`; insert into t0 select GET_LOCK("lock1",null)
 | |
| master-bin.000001	#	Query	1	#	use `test`; create table t2 (n int) engine=innodb
 | |
| master-bin.000001	#	Query	1	#	use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
 | |
| do release_lock("lock1");
 | |
| drop table t0,t2;
 | |
| set autocommit=0;
 | |
| CREATE TABLE t1 (a int, b int) engine=myisam;
 | |
| reset master;
 | |
| INSERT INTO t1 values (1,1),(1,2);
 | |
| CREATE TABLE t2 (primary key (a)) engine=innodb select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| DROP TABLE if exists t2;
 | |
| Warnings:
 | |
| Note	1051	Unknown table 't2'
 | |
| INSERT INTO t1 values (3,3);
 | |
| CREATE TEMPORARY TABLE t2 (primary key (a)) engine=innodb select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| ROLLBACK;
 | |
| Warnings:
 | |
| Warning	1196	Some non-transactional changed tables couldn't be rolled back
 | |
| DROP TABLE IF EXISTS t2;
 | |
| Warnings:
 | |
| Note	1051	Unknown table 't2'
 | |
| CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb;
 | |
| INSERT INTO t1 VALUES (4,4);
 | |
| CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| SELECT * from t2;
 | |
| a	b
 | |
| TRUNCATE table t2;
 | |
| INSERT INTO t1 VALUES (5,5);
 | |
| INSERT INTO t2 select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| SELECT * FROM t2;
 | |
| a	b
 | |
| DROP TABLE t2;
 | |
| INSERT INTO t1 values (6,6);
 | |
| CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb ;
 | |
| INSERT INTO t1 values (7,7);
 | |
| ROLLBACK;
 | |
| Warnings:
 | |
| Warning	1196	Some non-transactional changed tables couldn't be rolled back
 | |
| INSERT INTO t1 values (8,8);
 | |
| CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| COMMIT;
 | |
| INSERT INTO t1 values (9,9);
 | |
| CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| ROLLBACK;
 | |
| Warnings:
 | |
| Warning	1196	Some non-transactional changed tables couldn't be rolled back
 | |
| SELECT * from t2;
 | |
| a	b
 | |
| TRUNCATE table t2;
 | |
| INSERT INTO t1 values (10,10);
 | |
| INSERT INTO t2 select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| SELECT * from t1;
 | |
| a	b
 | |
| 1	1
 | |
| 1	2
 | |
| 3	3
 | |
| 4	4
 | |
| 5	5
 | |
| 6	6
 | |
| 7	7
 | |
| 8	8
 | |
| 9	9
 | |
| 10	10
 | |
| INSERT INTO t2 values (100,100);
 | |
| CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| COMMIT;
 | |
| INSERT INTO t2 values (101,101);
 | |
| CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
 | |
| ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 | |
| ROLLBACK;
 | |
| SELECT * from t2;
 | |
| a	b
 | |
| 100	100
 | |
| DROP TABLE t1,t2;
 | |
| show binlog events from 102;
 | |
| Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 values (1,1),(1,2)
 | |
| master-bin.000001	#	Query	1	#	use `test`; DROP TABLE if exists t2
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 values (3,3)
 | |
| master-bin.000001	#	Query	1	#	use `test`; DROP TABLE IF EXISTS t2
 | |
| master-bin.000001	#	Query	1	#	use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 VALUES (4,4)
 | |
| master-bin.000001	#	Query	1	#	use `test`; TRUNCATE table t2
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 VALUES (5,5)
 | |
| master-bin.000001	#	Query	1	#	use `test`; DROP TABLE t2
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 values (6,6)
 | |
| master-bin.000001	#	Query	1	#	use `test`; CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 values (7,7)
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 values (8,8)
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 values (9,9)
 | |
| master-bin.000001	#	Query	1	#	use `test`; TRUNCATE table t2
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t1 values (10,10)
 | |
| master-bin.000001	#	Query	1	#	use `test`; BEGIN
 | |
| master-bin.000001	#	Query	1	#	use `test`; INSERT INTO t2 values (100,100)
 | |
| master-bin.000001	#	Xid	1	#	COMMIT /* xid= */
 | |
| master-bin.000001	#	Query	1	#	use `test`; DROP TABLE t1,t2
 | |
| reset master;
 | |
| create table t1 (a int) engine=innodb;
 | |
| create table t2 (a int) engine=myisam;
 | |
| select get_lock("a",10);
 | |
| get_lock("a",10)
 | |
| 1
 | |
| begin;
 | |
| insert into t1 values(8);
 | |
| insert into t2 select * from t1;
 | |
| select get_lock("a",10);
 | |
| get_lock("a",10)
 | |
| 1
 | |
| select
 | |
| (@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
 | |
| is not null;
 | |
| (@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
 | |
| is not null
 | |
| 1
 | |
| select
 | |
| @a like "%#%error_code=0%ROLLBACK;%ROLLBACK /* added by mysqlbinlog */;%",
 | |
| @a not like "%#%error_code=%error_code=%";
 | |
| @a like "%#%error_code=0%ROLLBACK;%ROLLBACK /* added by mysqlbinlog */;%"	@a not like "%#%error_code=%error_code=%"
 | |
| 1	1
 | |
| drop table t1, t2;
 |