List:Commits« Previous MessageNext Message »
From:Horst.Hunger Date:January 3 2011 8:43am
Subject:bzr commit into mysql-5.1 branch (horst.hunger:3532)
View as plain text  
#At file:///home/horst/bzr/mysql-5.1/ based on revid:guilhem.bichot@stripped

 3532 Horst.Hunger	2011-01-03
      test commit

    added:
      mysql-test/suite/engines/Work-arounds
      mysql-test/suite/engines/pb2runner.pl
    modified:
      mysql-test/suite/engines/README
      mysql-test/suite/engines/funcs/r/rpl_000015.result
      mysql-test/suite/engines/funcs/r/rpl_REDIRECT.result
      mysql-test/suite/engines/funcs/r/rpl_change_master.result
      mysql-test/suite/engines/funcs/r/rpl_empty_master_crash.result
      mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result
      mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result
      mysql-test/suite/engines/funcs/r/rpl_log_pos.result
      mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result
      mysql-test/suite/engines/funcs/r/rpl_row_drop.result
      mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result
      mysql-test/suite/engines/funcs/r/rpl_row_until.result
      mysql-test/suite/engines/funcs/r/rpl_server_id1.result
      mysql-test/suite/engines/funcs/r/rpl_server_id2.result
      mysql-test/suite/engines/funcs/r/rpl_slave_status.result
      mysql-test/suite/engines/funcs/r/rpl_sp.result
      mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result
      mysql-test/suite/engines/funcs/t/rpl_000015.test
      mysql-test/suite/engines/funcs/t/rpl_REDIRECT.test
      mysql-test/suite/engines/funcs/t/rpl_change_master.test
      mysql-test/suite/engines/funcs/t/rpl_empty_master_crash.test
      mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test
      mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test
      mysql-test/suite/engines/funcs/t/rpl_log_pos.test
      mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
      mysql-test/suite/engines/funcs/t/rpl_row_drop.test
      mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test
      mysql-test/suite/engines/funcs/t/rpl_row_until.test
      mysql-test/suite/engines/funcs/t/rpl_server_id1.test
      mysql-test/suite/engines/funcs/t/rpl_server_id2.test
      mysql-test/suite/engines/funcs/t/rpl_slave_status.test
      mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
      mysql-test/suite/engines/iuds/t/insert_year.test
=== modified file 'mysql-test/suite/engines/README'
--- a/mysql-test/suite/engines/README	2010-05-04 21:24:36 +0000
+++ b/mysql-test/suite/engines/README	2011-01-03 08:43:07 +0000
@@ -50,22 +50,22 @@ The following suites are included:
 
 Known Issues
 ------------
-1) The folowing tests in the 'iuds' suite:
+1) The 'funcs' and 'iuds' suites currently runs only against MySQL 5.1 server.
+   Running them against MySQL 5.5 will generate errors.
+
+2) The folowing tests in the 'iuds' suite:
      - delete_decimal
      - insert_decimal 
      - update_decimal
    will return a 'Warning 1264 - Out of range value...' warning if run in a 32-bit environment.
    Add the '--force' option to prevent the test run from aborting.
 
-2) The following tests in the 'funcs' suite will fail when run against the innodb_plugin:
+3) The following tests in the 'funcs' suite will fail when run against the innodb_plugin:
    - crash_manycolumns_string (bug 50495) 
    - ix_unique_lob (bug 52056, masked by an 'Out of memory error' on some 32-bit platforms)
    - ix_unique_string_length (bug 52056, masked by an 'Out of memory error' on some 32-bit platforms)
    Add the '--force' option to prevent the test run from aborting.
 
-3) Some of the rpl_xxx tests in the 'funcs' suite require a secific binlog_forat setting and will be
+4) Some of the rpl_xxx tests in the 'funcs' suite require a secific binlog_forat setting and will be
    skipped otherwise.
  
-4) Some of the rpl_xxx tests in the 'funcs' suite will report a 'Statement unsafe for replication' warning 
-   when run againsr a server configured to use statement based replication.
- 

=== added file 'mysql-test/suite/engines/Work-arounds'
--- a/mysql-test/suite/engines/Work-arounds	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/engines/Work-arounds	2011-01-03 08:43:07 +0000
@@ -0,0 +1,14 @@
+This file populates the non-closed bugs
+and the affected testcases, which are modified
+in order to get the testcase working.
+
+The affected statements in the testcase are mostly 
+commented out alongwith a bug tag.
+
+The testcases need to be modified once the involved bug
+is fixed.
+
+Bug       Affected tests
+---       --------------
+52283     iuds.insert_number
+52283     iuds.update_delete_calendar

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_000015.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_000015.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_000015.result	2011-01-03 08:43:07 +0000
@@ -10,25 +10,166 @@ File	Position	Binlog_Do_DB	Binlog_Ignore
 master-bin.000001	106		
 stop slave;
 reset slave;
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	#
 Master_Log_File	
 Read_Master_Log_Pos	4
+Relay_Log_File	#
+Relay_Log_Pos	#
 Relay_Master_Log_File	
+Slave_IO_Running	No
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
 Exec_Master_Log_Pos	0
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
 change master to master_host='127.0.0.1';
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	#
 Master_Log_File	
 Read_Master_Log_Pos	4
+Relay_Log_File	#
+Relay_Log_Pos	#
 Relay_Master_Log_File	
+Slave_IO_Running	No
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
 Exec_Master_Log_Pos	0
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
 change master to master_host='127.0.0.1',master_user='root',
 master_password='',master_port=MASTER_PORT;
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	#
 Master_Log_File	
 Read_Master_Log_Pos	4
+Relay_Log_File	#
+Relay_Log_Pos	#
 Relay_Master_Log_File	
+Slave_IO_Running	No
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
 Exec_Master_Log_Pos	0
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
 start slave;
+show slave status;
+Slave_IO_State	Waiting for master to send event
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	1
 Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	106
+Relay_Log_File	slave-relay-bin.000002
+Relay_Log_Pos	252
 Relay_Master_Log_File	master-bin.000001
-Checking that both slave threads are running.
+Slave_IO_Running	Yes
+Slave_SQL_Running	Yes
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	106
+Relay_Log_Space	407
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
 drop table if exists t1;
 create table t1 (n int, PRIMARY KEY(n));
 insert into t1 values (10),(45),(90);

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_REDIRECT.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_REDIRECT.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_REDIRECT.result	2011-01-03 08:43:07 +0000
@@ -4,7 +4,8 @@ reset master;
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
-SHOW SLAVE STATUS;;
+SHOW SLAVE STATUS;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
 SHOW SLAVE HOSTS;
 Server_id	Host	Port	Rpl_recovery_rank	Master_id
 2	127.0.0.1	SLAVE_PORT	0	1

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_change_master.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_change_master.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_change_master.result	2011-01-03 08:43:07 +0000
@@ -11,7 +11,13 @@ stop slave sql_thread;
 insert into t1 values(1);
 insert into t1 values(2);
 stop slave;
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+#	127.0.0.1	root	MASTER_MYPORT	1	master-bin.000001	#	#	#	master-bin.000001	No	No							0		0	191	#	None		0	No						#	No	0		0	
 change master to master_user='root';
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+#	127.0.0.1	root	MASTER_MYPORT	1	master-bin.000001	#	#	#	master-bin.000001	No	No							0		0	191	#	None		0	No						#	No	0		0	
 start slave;
 select * from t1;
 n

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_empty_master_crash.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_empty_master_crash.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_empty_master_crash.result	2011-01-03 08:43:07 +0000
@@ -4,6 +4,8 @@ reset master;
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
 load table t1 from master;
 ERROR 08S01: Error connecting to master: Master is not configured
 load table t1 from master;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result	2011-01-03 08:43:07 +0000
@@ -17,6 +17,43 @@ let $result_pattern= '%127.0.0.1%root%sl
 
 --source include/wait_slave_status.inc
 flush logs;
-Relay_Log_File	mysqld-relay-bin.000003
-Checking that both slave threads are running.
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	SLAVE_PORT
+Connect_Retry	60
+Master_Log_File	slave-bin.000001
+Read_Master_Log_Pos	106
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	slave-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	Yes
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	106
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
 STOP SLAVE;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result	2011-01-03 08:43:07 +0000
@@ -10,6 +10,6 @@ load data infile '../../std_data/rpl_loa
 select count(*) from test.t1;
 count(*)
 2
-show binlog events from <binlog_start>;
+show binlog events from 106;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 drop table test.t1;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_log_pos.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_log_pos.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_log_pos.result	2011-01-03 08:43:07 +0000
@@ -4,23 +4,39 @@ reset master;
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
+show master status;
+File	Position	Binlog_Do_DB	Binlog_Ignore_DB
+master-bin.000001	106	<Binlog_Ignore_DB>	
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	106	#	#	master-bin.000001	Yes	Yes							0		0	106	#	None		0	No						#	No	0		0	
 stop slave;
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=106;
 start slave;
 stop slave;
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=106;
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	106	#	#	master-bin.000001	No	No							0		0	106	#	None		0	No						#	No	0		0	
 start slave;
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	106	#	#	master-bin.000001	Yes	Yes							0		0	106	#	None		0	No						#	No	0		0	
 stop slave;
-# impossible position leads to an error
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=177;
 start slave;
-Last_IO_Error = Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	177	#	#	master-bin.000001	No	Yes							0		0	177	#	None		0	No						#	No	1236	Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'	0	
+show master status;
+File	Position	Binlog_Do_DB	Binlog_Ignore_DB
+master-bin.000001	106	<Binlog_Ignore_DB>	
 create table if not exists t1 (n int);
 drop table if exists t1;
 create table t1 (n int);
 insert into t1 values (1),(2),(3);
 stop slave;
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=206;
 start slave;
 select * from t1 ORDER BY n;
 n

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result	2011-01-03 08:43:07 +0000
@@ -14,16 +14,47 @@ MIXED	MIXED
 CREATE TABLE t1 (a INT, b LONG);
 INSERT INTO t1 VALUES (1,1), (2,2);
 INSERT INTO t1 VALUES (3,UUID()), (4,UUID());
-show binlog events from <binlog_start>;
+SHOW BINLOG EVENTS;
 **** On Slave ****
-show binlog events from <binlog_start>;
-Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-slave-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT, b LONG)
-slave-bin.000001	#	Query	#	#	use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
-slave-bin.000001	#	Query	#	#	BEGIN
-slave-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
-slave-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-slave-bin.000001	#	Query	#	#	COMMIT
-show binlog events from <binlog_start>;
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	Yes
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
+SHOW BINLOG EVENTS;
 DROP TABLE IF EXISTS t1;
 SET GLOBAL BINLOG_FORMAT=@saved_binlog_format;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_row_drop.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_row_drop.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_drop.result	2011-01-03 08:43:07 +0000
@@ -41,11 +41,12 @@ t1
 t2
 **** On Master ****
 DROP TABLE t1,t2;
-show binlog events from <binlog_start>;
+SHOW BINLOG EVENTS;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a int)
-master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t2 (a int)
-master-bin.000001	#	Query	#	#	use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001	4	Format_desc	1	106	Server ver: VERSION, Binlog ver: 4
+master-bin.000001	106	Query	1	192	use `test`; CREATE TABLE t1 (a int)
+master-bin.000001	192	Query	1	278	use `test`; CREATE TABLE t2 (a int)
+master-bin.000001	278	Query	1	382	use `test`; DROP TABLE `t1` /* generated by server */
 SHOW TABLES;
 Tables_in_test
 t2

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result	2011-01-03 08:43:07 +0000
@@ -17,5 +17,43 @@ a
 0
 drop table t1;
 insert into t1 values (1);
-Last_SQL_Error = Error 'Table 'test.t1' doesn't exist' on opening tables
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_MYPORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	test.t2
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1146
+Last_Error	Error 'Table 'test.t1' doesn't exist' on opening tables
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	1146
+Last_SQL_Error	Error 'Table 'test.t1' doesn't exist' on opening tables
 drop table t1, t2;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_row_until.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_row_until.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_until.result	2011-01-03 08:43:07 +0000
@@ -12,39 +12,193 @@ create table t2(n int not null auto_incr
 insert into t2 values (1),(2);
 insert into t2 values (3),(4);
 drop table t2;
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=311;
 select * from t1;
 n
 1
 2
 3
 4
-start slave until master_log_file='master-no-such-bin.000001', master_log_pos=MASTER_LOG_POS;
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_MYPORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	slave-relay-bin.000004
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	#
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	Master
+Until_Log_File	master-bin.000001
+Until_Log_Pos	311
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
+start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
 select * from t1;
-n
-1
-2
-3
-4
-start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=RELAY_LOG_POS;
+n	1
+n	2
+n	3
+n	4
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_MYPORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	slave-relay-bin.000004
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	#
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	Master
+Until_Log_File	master-no-such-bin.000001
+Until_Log_Pos	291
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
+start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
 select * from t2;
-n
-1
-2
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_MYPORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	slave-relay-bin.000004
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	#
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	Relay
+Until_Log_File	slave-relay-bin.000004
+Until_Log_Pos	728
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
 start slave;
 stop slave;
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
-start slave until master_log_file='master-bin', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=740;
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_MYPORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	slave-relay-bin.000004
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	Master
+Until_Log_File	master-bin.000001
+Until_Log_Pos	740
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	
+start slave until master_log_file='master-bin', master_log_pos=561;
 ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS, relay_log_pos=RELAY_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
 ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
 start slave until master_log_file='master-bin.000001';
 ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
 start slave until relay_log_file='slave-relay-bin.000002';
 ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=MASTER_LOG_POS;
+start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
 ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
 start slave sql_thread;
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=740;
 Warnings:
-Note	1254	Slave is already running
+Level	Note
+Code	1254
+Message	Slave is already running

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_server_id1.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_server_id1.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_server_id1.result	2011-01-03 08:43:07 +0000
@@ -8,8 +8,10 @@ create table t1 (n int);
 reset master;
 stop slave;
 change master to master_port=SLAVE_PORT;
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+	127.0.0.1	root	SLAVE_PORT	1		4	slave-relay-bin.000001	4		No	No				#		#	0		0	0	106	None		0	No						NULL	No	0		0	
 start slave;
-Last_IO_Error = Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
 insert into t1 values (1);
 show status like "slave_running";
 Variable_name	Value

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_server_id2.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_server_id2.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_server_id2.result	2011-01-03 08:43:07 +0000
@@ -8,6 +8,9 @@ create table t1 (n int);
 reset master;
 stop slave;
 change master to master_port=SLAVE_PORT;
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
+	127.0.0.1	root	SLAVE_PORT	1		4	slave-relay-bin.000001	4		No	No						#	0		0	0	106	None		0	No						NULL	No	0		0	
 start slave;
 insert into t1 values (1);
 select * from t1;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_slave_status.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_slave_status.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_slave_status.result	2011-01-03 08:43:07 +0000
@@ -18,5 +18,44 @@ drop user rpl@stripped;
 flush privileges;
 stop slave;
 start slave;
+show slave status;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	rpl
+Master_Port	MASTER_MYPORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	No
+Slave_SQL_Running	Yes
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	NULL
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	0
+Last_SQL_Error	
 drop table t1;
 drop table t1;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_sp.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_sp.result	2010-03-18 06:42:07 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_sp.result	2011-01-03 08:43:07 +0000
@@ -176,7 +176,7 @@ end|
 ERROR HY000: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
 set global log_bin_trust_routine_creators=1;
 Warnings:
-Warning	1287	The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.6. Please use '@@log_bin_trust_function_creators' instead
+Warning	1287	'@@log_bin_trust_routine_creators' is deprecated and will be removed in a future release. Please use '@@log_bin_trust_function_creators' instead
 set global log_bin_trust_function_creators=0;
 set global log_bin_trust_function_creators=1;
 set global log_bin_trust_function_creators=1;

=== modified file 'mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result'
--- a/mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result	2011-01-03 08:43:07 +0000
@@ -376,7 +376,7 @@ CREATE TABLE t12 (data LONG);
 LOCK TABLES t12 WRITE;
 INSERT INTO t12 VALUES(UUID());
 UNLOCK TABLES;
-show binlog events from <binlog_start>;
-show binlog events from <binlog_start>;
+show binlog events;
+show binlog events;
 drop database mysqltest1;
 set global binlog_format= @saved_binlog_format;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_000015.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_000015.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_000015.test	2011-01-03 08:43:07 +0000
@@ -11,25 +11,31 @@ save_master_pos;
 connection slave;
 stop slave;
 reset slave;
-let $status_items= Master_Log_File, Read_Master_Log_Pos, Relay_Master_Log_File, Exec_Master_Log_Pos;
-source include/show_slave_status.inc;
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+show slave status;
 
 change master to master_host='127.0.0.1';
 # The following needs to be cleaned up when change master is fixed
-source include/show_slave_status.inc;
-
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+show slave status;
 --replace_result $MASTER_MYPORT MASTER_PORT
 eval change master to master_host='127.0.0.1',master_user='root',
  master_password='',master_port=$MASTER_MYPORT;
-source include/show_slave_status.inc;
-
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+show slave status;
 start slave;
 sync_with_master;
-let $status_items= Master_Log_File, Relay_Master_Log_File;
-source include/show_slave_status.inc;
-source include/check_slave_is_running.inc;
-
 --vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+--replace_column 33 #
+show slave status;
 connection master;
 --disable_warnings
 drop table if exists t1;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_REDIRECT.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_REDIRECT.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_REDIRECT.test	2011-01-03 08:43:07 +0000
@@ -7,11 +7,15 @@ source include/master-slave.inc;
 --disable_ps_protocol
 
 #first, make sure the slave has had enough time to register
-sync_slave_with_master;
+save_master_pos;
+connection slave;
+sync_with_master;
 
 #discover slaves
 connection master;
---query_vertical SHOW SLAVE STATUS;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+SHOW SLAVE STATUS;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 SHOW SLAVE HOSTS;
 rpl_probe;
@@ -21,7 +25,9 @@ enable_rpl_parse;
 create table t1 ( n int);
 insert into t1 values (1),(2),(3),(4);
 disable_rpl_parse;
-sync_slave_with_master;
+save_master_pos;
+connection slave;
+sync_with_master;
 insert into t1 values(5);
 connection master;
 enable_rpl_parse;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_change_master.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_change_master.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_change_master.test	2011-01-03 08:43:07 +0000
@@ -18,26 +18,13 @@ save_master_pos;
 connection slave;
 --real_sleep 3 # wait for I/O thread to have read updates
 stop slave;
-source include/wait_for_slave_to_stop.inc;
-
-let $read_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
-let $exec_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-if (`SELECT $read_pos = $exec_pos`)
-{
-  source include/show_rpl_debug_info.inc;
-  echo 'Read_Master_Log_Pos: $read_pos' == 'Exec_Master_Log_Pos: $exec_pos';
-  die Failed because Read_Master_Log_Pos is equal to Exec_Master_Log_Pos;
-} 
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
+show slave status;
 change master to master_user='root';
-let $read_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
-let $exec_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-if (`SELECT $read_pos <> $exec_pos`)
-{
-  source include/show_rpl_debug_info.inc;
-  echo 'Read_Master_Log_Pos: $read_pos' <> 'Exec_Master_Log_Pos: $exec_pos';
-  die Failed because Read_Master_Log_Pos is not equal to Exec_Master_Log_Pos;
-}
-
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
+show slave status;
 start slave;
 sync_with_master;
 select * from t1;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_empty_master_crash.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_empty_master_crash.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_empty_master_crash.test	2011-01-03 08:43:07 +0000
@@ -1,5 +1,8 @@
 source include/master-slave.inc;
 
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
+
 #
 # Load table should not succeed on the master as this is not a slave
 #

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test	2011-01-03 08:43:07 +0000
@@ -41,7 +41,8 @@ sleep 5;
 #
 #  Show status of slave
 #
---let status_items= Relay_Log_File
---source include/show_slave_status.inc
---source include/check_slave_is_running.inc
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+SHOW SLAVE STATUS;
 STOP SLAVE;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test	2011-01-03 08:43:07 +0000
@@ -20,7 +20,9 @@ save_master_pos;
 connection slave;
 sync_with_master;
 select count(*) from test.t1; # check that LOAD was replicated
-source include/show_binlog_events.inc;
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
+show binlog events from 106; # should be nothing
 
 # Cleanup
 connection master;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_log_pos.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_log_pos.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_log_pos.test	2011-01-03 08:43:07 +0000
@@ -11,41 +11,36 @@
 # Passes with rbr no problem, removed statement include [jbm]
 
 source include/master-slave.inc;
-let $master_log_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
+--replace_column 3 <Binlog_Ignore_DB>
+show master status;
 sync_slave_with_master;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 stop slave;
-
---replace_result $master_log_pos MASTER_LOG_POS
-eval change master to master_log_pos=$master_log_pos;
+change master to master_log_pos=106;
 start slave;
 sleep 5;
 stop slave;
-
---replace_result $master_log_pos MASTER_LOG_POS
-eval change master to master_log_pos=$master_log_pos;
---let $slave_param= Read_Master_Log_Pos
---let $slave_param_value= $master_log_pos
---source include/wait_for_slave_param.inc
-
+change master to master_log_pos=106;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 start slave;
 sleep 5;
---let $slave_param= Read_Master_Log_Pos
---let $slave_param_value= $master_log_pos
---source include/wait_for_slave_param.inc
---source include/check_slave_no_error.inc
-
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 stop slave;
---echo # impossible position leads to an error
---replace_result 177 MASTER_LOG_POS
 change master to master_log_pos=177;
 start slave;
 sleep 2;
-let $slave_io_errno= 1236;
-let $show_slave_io_error= 1;
-source include/wait_for_slave_io_error.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 connection master;
-
-let $master_log_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
+--replace_column 3 <Binlog_Ignore_DB>
+show master status;
 create table if not exists t1 (n int);
 drop table if exists t1;
 create table t1 (n int);
@@ -53,9 +48,7 @@ insert into t1 values (1),(2),(3);
 save_master_pos;
 connection slave;
 stop slave;
-
---replace_result $master_log_pos MASTER_LOG_POS
-eval change master to master_log_pos=$master_log_pos;
+change master to master_log_pos=206;
 start slave;
 sync_with_master;
 select * from t1 ORDER BY n;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test	2011-01-03 08:43:07 +0000
@@ -15,17 +15,25 @@ SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION
 CREATE TABLE t1 (a INT, b LONG);
 INSERT INTO t1 VALUES (1,1), (2,2);
 INSERT INTO t1 VALUES (3,UUID()), (4,UUID());
+let $VERSION=`select version()`;
+--replace_result $VERSION VERSION
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
 # Different number of binlog events are generated by different engines
 --disable_result_log
-source include/show_binlog_events.inc;
+SHOW BINLOG EVENTS;
 --enable_result_log
 sync_slave_with_master;
 --echo **** On Slave ****
-source include/show_binlog_events.inc;
-
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS
+--replace_result $VERSION VERSION
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
 # Different number of binlog events are generated by different engines
 --disable_result_log
-source include/show_binlog_events.inc;
+SHOW BINLOG EVENTS;
 --enable_result_log
 --exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_master.sql
 --exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_slave.sql

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_row_drop.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_row_drop.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_drop.test	2011-01-03 08:43:07 +0000
@@ -30,7 +30,10 @@ connection master;
 --echo **** On Master ****
 # Should drop the non-temporary table t1 and the temporary table t2
 DROP TABLE t1,t2;
-source include/show_binlog_events.inc;
+let $VERSION=`select version()`;
+--replace_result $VERSION VERSION
+--replace_regex /table_id: [0-9]+/table_id: #/
+SHOW BINLOG EVENTS;
 SHOW TABLES;
 sync_slave_with_master;
 --echo **** On Slave ****

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test	2011-01-03 08:43:07 +0000
@@ -22,11 +22,13 @@ connection master;
 insert into t1 values (1);
 
 connection slave;
-# slave should have stopped because can't find table t1 
+# slave should have stopped because can't find table t1
+wait_for_slave_to_stop;
 # see if we have a good error message:
---let $slave_sql_errno= 1146
---let $show_slave_sql_error= 1
---source include/wait_for_slave_sql_error.inc
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--vertical_results
+show slave status;
 
 # cleanup
 connection master;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_row_until.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_row_until.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_until.test	2011-01-03 08:43:07 +0000
@@ -18,50 +18,44 @@ connection master;
 # create some events on master
 create table t1(n int not null auto_increment primary key);
 insert into t1 values (1),(2),(3),(4);
-let $master_log_pos_1= query_get_value(SHOW MASTER STATUS, Position, 1);
 drop table t1;
-
 create table t2(n int not null auto_increment primary key);
 insert into t2 values (1),(2);
-let $master_log_pos_2= query_get_value(SHOW MASTER STATUS, Position, 1);
 insert into t2 values (3),(4);
 drop table t2;
 
 # try to replicate all queries until drop of t1
 connection slave;
---replace_result $master_log_pos_1 MASTER_LOG_POS
-eval start slave until master_log_file='master-bin.000001', master_log_pos=$master_log_pos_1;
+start slave until master_log_file='master-bin.000001', master_log_pos=311;
 sleep 2;
 wait_for_slave_to_stop;
 # here table should be still not deleted
 select * from t1;
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $master_log_pos_1
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
+show slave status;
 
 # this should fail right after start
---replace_result 291 MASTER_LOG_POS
 start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
 # again this table should be still not deleted
 select * from t1;
 sleep 2;
 wait_for_slave_to_stop;
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $master_log_pos_1
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
+show slave status;
 
 # try replicate all up to and not including the second insert to t2;
-let $master_log_pos= $master_log_pos_2;
-let $relay_log_file= slave-relay-bin.000004;
---source include/get_relay_log_pos.inc
---replace_result $relay_log_pos RELAY_LOG_POS
-eval start slave until relay_log_file='$relay_log_file', relay_log_pos=$relay_log_pos;
+start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
 sleep 2;
 wait_for_slave_to_stop;
 select * from t2;
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $master_log_pos
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
+show slave status;
 
 # clean up
 start slave;
@@ -71,32 +65,27 @@ connection slave;
 sync_with_master;
 stop slave;
 
---let $exec_log_pos_1= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1)
 # this should stop immediately as we are already there
---replace_result $master_log_pos_2 MASTER_LOG_POS
-eval start slave until master_log_file='master-bin.000001', master_log_pos=$master_log_pos_2;
+start slave until master_log_file='master-bin.000001', master_log_pos=740;
 sleep 2;
 wait_for_slave_to_stop;
 # here the sql slave thread should be stopped
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $exec_log_pos_1
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
+--replace_column 1 # 7 # 9 # 22 # 23 # 33 #
+show slave status;
 
 #testing various error conditions
---replace_result 561 MASTER_LOG_POS
 --error 1277
 start slave until master_log_file='master-bin', master_log_pos=561;
---replace_result 561 MASTER_LOG_POS 12 RELAY_LOG_POS
 --error 1277
 start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
 --error 1277
 start slave until master_log_file='master-bin.000001';
 --error 1277
 start slave until relay_log_file='slave-relay-bin.000002';
---replace_result 561 MASTER_LOG_POS
 --error 1277
 start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
 # Warning should be given for second command
 start slave sql_thread;
---replace_result 740 MASTER_LOG_POS
 start slave until master_log_file='master-bin.000001', master_log_pos=740;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_server_id1.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_server_id1.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_server_id1.test	2011-01-03 08:43:07 +0000
@@ -12,13 +12,10 @@ reset master;
 stop slave;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 eval change master to master_port=$SLAVE_MYPORT;
-source include/check_slave_no_error.inc;
-
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--replace_column 16 # 18 #
+show slave status;
 start slave;
-let $slave_io_errno= 1593;
-let $show_slave_io_error= 1;
-source include/wait_for_slave_io_error.inc;
-
 insert into t1 values (1);
 # can't MASTER_POS_WAIT(), it does not work in this weird setup
 # (when slave is its own master without --replicate-same-server-id)

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_server_id2.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_server_id2.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_server_id2.test	2011-01-03 08:43:07 +0000
@@ -9,6 +9,9 @@ reset master;
 stop slave;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 eval change master to master_port=$SLAVE_MYPORT;
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--replace_column 18 #
+show slave status;
 start slave;
 insert into t1 values (1);
 save_master_pos;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_slave_status.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_slave_status.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_slave_status.test	2011-01-03 08:43:07 +0000
@@ -22,7 +22,9 @@ drop table if exists t1;
 --enable_warnings
 create table t1 (n int);
 insert into t1 values (1);
-sync_slave_with_master;
+save_master_pos;
+connection slave;
+sync_with_master;
 select * from t1;
 
 # 3. Delete new replication user
@@ -38,8 +40,12 @@ stop slave;
 start slave;
 
 # 5. Make sure Slave_IO_Running = No
-let $slave_io_errno= 1045;
-source include/wait_for_slave_io_error.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+# Column 1 is replaced, since the output can be either
+# "Connecting to master" or "Waiting for master update"
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 35 # 36 #
+--vertical_results
+show slave status;
 
 # Cleanup (Note that slave IO thread is not running)
 connection slave;

=== modified file 'mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test'
--- a/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test	2010-05-24 13:54:08 +0000
+++ b/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test	2011-01-03 08:43:07 +0000
@@ -501,7 +501,9 @@ INSERT INTO t12 VALUES(UUID());
 UNLOCK TABLES;
 
 --disable_result_log
-source include/show_binlog_events.inc;
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
+show binlog events;
 --enable_result_log
 sync_slave_with_master;
 
@@ -518,7 +520,9 @@ diff_files $MYSQLTEST_VARDIR/tmp/rpl_swi
 
 connection master;
 --disable_result_log
-source include/show_binlog_events.inc;
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
+show binlog events;
 --enable_result_log
 
 # Now test that mysqlbinlog works fine on a binlog generated by the

=== modified file 'mysql-test/suite/engines/iuds/t/insert_year.test'
--- a/mysql-test/suite/engines/iuds/t/insert_year.test	2010-03-18 06:42:07 +0000
+++ b/mysql-test/suite/engines/iuds/t/insert_year.test	2011-01-03 08:43:07 +0000
@@ -226,6 +226,7 @@ SELECT * FROM t2 WHERE c1 IS NOT NULL OR
 ## Full table scan ##
 --sorted_result
 SELECT * FROM t2;
+
 --sorted_result
 SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2;
 --sorted_result
@@ -300,6 +301,7 @@ SELECT * FROM t2 WHERE c2 IS NOT NULL OR
 ## Full table scan ##
 --sorted_result
 SELECT * FROM t2;
+
 --sorted_result
 SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2;
 --sorted_result

=== added file 'mysql-test/suite/engines/pb2runner.pl'
--- a/mysql-test/suite/engines/pb2runner.pl	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/engines/pb2runner.pl	2011-01-03 08:43:07 +0000
@@ -0,0 +1,185 @@
+#!/usr/bin/perl
+
+########################################################################
+#                          WL-5104 
+#
+# 2009-11-03 NC : The wrapper for engine independent tests to run with PB2
+#                 (se_common_funcs_51 test suite).
+# 2009-11-11 NC : Added a subroutine to recursively copy directories.
+# 2009-11-11 NC : Added a subroutine to register the data & results.
+# 2009-11-14 NC : Added a workaround for Windows permission issue.
+# 2010-03-20 ES : WL#5301: Common logic (bzr pull etc.) is moved to the
+#                 generic pb2systemqa.pl script
+# 2010-03-30 NC : Changed the directory structure
+#                 extra/mysql-test/qa-suite/eits
+#                                            |---- engines_51
+#                                            |---- engines_55
+#                                            |---- old                                       
+#                                                   |---- se_common_funcs_51
+#                                                   |---- se_common_funcs_60
+# 2010-05-01 NC : Added commands to run rpl tests with row and mixed format
+#
+########################################################################
+
+use strict;
+use POSIX;
+use Cwd qw (abs_path );
+use File::Path;
+use File::Spec;
+use File::Basename;
+use File::Copy;
+
+# The script is run with the following assumption
+# of the directory structure :
+# <common folder assigned for external tests> -
+#                                             |-scripts-
+#                                             |         `- pb2systemqa.pl
+#                                             |-test-
+#                                                    `|-<some-other-dir>/<mysql-build>
+#                                                     |-<extra> 
+my $cur_time = localtime;
+print("Tests started at : $cur_time\n");
+
+my $abs_path = abs_path( $0 );
+my $script_name = basename( $abs_path );
+my $script_dir = abs_path( dirname( $abs_path));
+$abs_path = abs_path( File::Spec->catdir( dirname( $abs_path ), "..", "..", ".." ) );
+my $extra_basedir = dirname( $abs_path );
+
+my ($basedir, $vardir, $tree, $test) = @ARGV[0..3];
+
+if ( scalar @ARGV lt 4 ) {
+        print "Usage: \n\t$script_name <MySQL server basedir> <test workdir> <server bzr tree name> <test name> [<other parameters>]\n";
+        exit 1;
+}
+
+# Fix for an issue on PB2/Windows, where mtm aborts when mtr_unique.pm fails
+# to create a directory due to lack of permission.
+my $win_var;
+my $OSNAME = $^O;
+if ($OSNAME =~ /Win/) {
+    if (exists $ENV{'ALLUSERSPROFILE'} && -w $ENV{'ALLUSERSPROFILE'}) {
+        $win_var = $ENV{'ALLUSERSPROFILE'};
+        $ENV{'ALLUSERSPROFILE'} = $ENV{'TEMP'};
+    }
+}
+
+my $gBranch = $ENV{BRANCH_NAME};
+
+# Add storage engines here
+my @storage_engines = ('myisam','innodb');
+
+my $mtr_generic_options;
+my $command;
+my $command_result;
+my $final_result = 0; 
+my $temp;
+
+#Removing the existing 'engines' suite 
+chdir($basedir."/mysql-test/suite/");
+rmtree("engines");
+
+# Copying the test suites to mysql test suite directory
+my $src_dir = $script_dir;
+my $dest_dir = File::Spec->catdir( $basedir,"mysql-test","suite","engines");
+
+print("\n[$script_name] Copying the testsuites to mysql-test/suite directory\n");
+copydir("$src_dir","$dest_dir");
+
+chdir($basedir."/mysql-test/");
+
+$mtr_generic_options = " --suite=engines/iuds,engines/funcs "
+                      ." --force "
+                      ." --suite-timeout=500 "
+                      ." --max-test-fail=0 "
+                      ." --retry-failure=0 ";
+                       
+# Using a separate vardir for each storage-engine/binlog format combination.
+my $engine_vardir;
+
+# Loop to set the default storage engine
+foreach( @storage_engines ) {
+                           my $mtr_options = " $mtr_generic_options "
+                                             ." --mysqld=--default-storage-engine=".$_." ";
+
+                           if ($_ eq 'innodb'){
+                                              $mtr_options = $mtr_options." --mysqld=--innodb"; 
+                           }
+
+                           print("\n[$script_name]==================================");
+                           print("\n[$script_name] Going to run the suite for $_ \n");
+                           print("[$script_name]==================================\n");
+
+                           register_result( "EITS", $_, 0, undef );
+
+                           $command_result = 0;
+ 
+                           $engine_vardir = File::Spec->catdir( $vardir, $_."_stmt" );
+                           $engine_vardir =~ s/\\/\//g ; #fix for windows' path separator issue.
+                           $command = "perl ./mysql-test-run.pl ".$mtr_options." --vardir=".$engine_vardir." ";
+                           $temp = system($command);
+                           $command_result = $command_result || ($temp>>8);
+
+                           $engine_vardir = File::Spec->catdir( $vardir, $_."_row" );
+                           $engine_vardir =~ s/\\/\//g ; #fix for windows' path separator issue.
+                           $command = "perl ./mysql-test-run.pl ".$mtr_options." --do-test=rpl --mysqld=--binlog-format=row --vardir=".$engine_vardir." ";
+                           $temp = system($command);
+                           $command_result = $command_result || ($temp>>8);
+
+                           $engine_vardir = File::Spec->catdir( $vardir, $_."_mixed" );
+                           $engine_vardir =~ s/\\/\//g ; #fix for windows' path separator issue.
+                           $command = "perl ./mysql-test-run.pl ".$mtr_options." --do-test=rpl --mysqld=--binlog-format=mixed --vardir=".$engine_vardir." ";
+                           $temp = system($command);
+                           $command_result = $command_result || ($temp>>8);
+
+                           register_result( undef, undef, 0, $command_result );
+
+                           $final_result = $command_result || $final_result;
+}
+
+#Restore the Win-ENV values
+if ($OSNAME =~ /Win/) {
+    if (exists $ENV{'ALLUSERSPROFILE'} && -w $ENV{'ALLUSERSPROFILE'}) {
+        $ENV{'ALLUSERSPROFILE'}  = $win_var;
+    }
+}
+
+
+POSIX::_exit ($final_result);
+
+sub copydir {
+my ($from_dir, $to_dir) = @_;
+
+  mkpath("$to_dir");
+  opendir(DIR, "$from_dir");
+  for(readdir(DIR)) {
+                     next if "$_" eq "." or "$_" eq "..";
+
+                     if ( -d "$from_dir/$_" )
+                     {
+                     copydir("$from_dir/$_", "$to_dir/$_");
+                     next;
+                     }
+
+                     # Only copy plain files
+                     if ( -f "$from_dir/$_") {
+                     copy("$from_dir/$_", "$to_dir/$_");
+                     next;
+                     }
+  }
+closedir(DIR);
+}
+
+sub register_result {
+        my ( $scenario, $variation, $duration, $exit_code ) = @_;
+        our $registration_id;
+        $registration_id = undef unless defined $exit_code; # new test started;
+        our $registration_scenario = $scenario;
+        our $registration_variation = $variation;
+        our $registration_basedir = $basedir;
+        our $registration_status = $exit_code;
+        our $registration_duration = $duration;
+        our $registration_branch = $gBranch;
+
+        do "$extra_basedir/mysql-test/lib/register-test-result.pl"
+}


Attachment: [text/bzr-bundle] bzr/horst.hunger@sun.com-20110103084307-nnheyso3tqaest35.bundle
Thread
bzr commit into mysql-5.1 branch (horst.hunger:3532) Horst.Hunger3 Jan