List:Commits« Previous MessageNext Message »
From:Luis Soares Date:April 5 2010 5:09pm
Subject:bzr commit into mysql-5.1-rep+2 branch (luis.soares:3183) Bug#43535
View as plain text  
#At file:///home/lsoares/Workspace/bzr/work/features/b43535/mysql-5.1-rep%2B2/ based on revid:zhenxing.he@stripped

 3183 Luis Soares	2010-04-05
      BUG#43535: last_io_error in show slave status is confusing
      
      Although IO and SQL thread errors numbers and messages are
      reported in SHOW SLAVE STATUS output, the correspondent timestamp
      at which they have occurred is not. As such the user may be left
      wondering whenever the error happened (NOTE: actually, in the
      error log, a timestamp should be printed along with the error
      message, however in SHOW SLAVE STATUS it is not currently).
      
      Furthermore, at the time this bug was reported, there was no way
      for the user to clean the error number and message reported.
      
      This patch adds two new columns to the output of SHOW SLAVE
      STATUS:
      
        - Last_IO_Error_Timestamp - shows the timestamp for the last
          error IO error
      
        - Last_SQL_Error_Timestamp - the same as
          Last_IO_Error_Timestamp, but for the SQL thread errors.
      
      The timestamp is formatted as : "YYYY-MM-DD HH:MM:SS".  
      
      The computation of the timestamp is added as a new method of the
      Error class (update_timestamp), which in turn is an inner class
      of the Slave_reporting_capability. This new method is called
      everytime Slave_reporting_capability::report is invoked with log
      level set to ERROR_LEVEL, thence capturing the timestamp of the
      error being reported.
      
      Starting from 5.1.37 (ie, when the fix for BUG 44270 was
      released), the fields are cleared on RESET SLAVE. Furthermore,
      the test case added in this patch checks that: (1) the error
      message(s) is not reset on explicit stop slave after an error
      occurred; (2) the error message(s) is reset when slave recovers
      from the error (ie, when the DBA fixes the problem and resumes
      replication by issuing START SLAVE). Moreover, clearing the new
      Timestamp fields is done in the Error class clear() method, 
      therefore when Last_*_Errno and Last_*_Error are reset,
      Last_*_Error_Timestamp is gets reset also.
      
      Finally, this patch accommodates the changes needed for existing
      MTR server tests:
      
        - result files are updated due to the new _Timestamp columns
      
        - show_slave_status.inc include files are augmented with
          replace_regex to mask out the timestamp from result files
      
        - some tests are also changed to mask out the output for the
          new _Timestamp columns
     @ sql/rpl_reporting.cc
        Deployed call to update_timestamp() method whenever an error
        is reported.
     @ sql/rpl_reporting.h
        Adds timestamp field to the Error class.
        Adds cleaning the timestamp field to the clear() method.
        Adds update_timestamp method (calculates a timestamp and 
        sets it to the newly added timestamp field).
     @ sql/slave.cc
        Adds last_error().timestamp to the output of SHOW SLAVE STATUS.

    modified:
      mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
      mysql-test/extra/rpl_tests/rpl_row_tabledefs.test
      mysql-test/include/show_slave_status.inc
      mysql-test/include/show_slave_status2.inc
      mysql-test/include/test_fieldsize.inc
      mysql-test/suite/rpl/r/rpl_000015.result
      mysql-test/suite/rpl/r/rpl_bug33931.result
      mysql-test/suite/rpl/r/rpl_change_master.result
      mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
      mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result
      mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result
      mysql-test/suite/rpl/r/rpl_flushlog_loop.result
      mysql-test/suite/rpl/r/rpl_grant.result
      mysql-test/suite/rpl/r/rpl_heartbeat.result
      mysql-test/suite/rpl/r/rpl_incident.result
      mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
      mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
      mysql-test/suite/rpl/r/rpl_log_pos.result
      mysql-test/suite/rpl/r/rpl_replicate_do.result
      mysql-test/suite/rpl/r/rpl_rotate_logs.result
      mysql-test/suite/rpl/r/rpl_row_colSize.result
      mysql-test/suite/rpl/r/rpl_row_log.result
      mysql-test/suite/rpl/r/rpl_row_log_innodb.result
      mysql-test/suite/rpl/r/rpl_row_max_relay_size.result
      mysql-test/suite/rpl/r/rpl_row_reset_slave.result
      mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
      mysql-test/suite/rpl/r/rpl_row_until.result
      mysql-test/suite/rpl/r/rpl_skip_error.result
      mysql-test/suite/rpl/r/rpl_ssl.result
      mysql-test/suite/rpl/r/rpl_ssl1.result
      mysql-test/suite/rpl/r/rpl_stm_log.result
      mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
      mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
      mysql-test/suite/rpl/r/rpl_stm_until.result
      mysql-test/suite/rpl/r/rpl_temporary_errors.result
      mysql-test/suite/rpl/t/rpl_bug33931.test
      mysql-test/suite/rpl/t/rpl_critical_errors.test
      mysql-test/suite/rpl/t/rpl_incident.test
      mysql-test/suite/rpl/t/rpl_known_bugs_detection.test
      mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result
      mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result
      mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result
      mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result
      mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result
      mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result
      mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test
      mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test
      sql/rpl_reporting.cc
      sql/rpl_reporting.h
      sql/slave.cc
=== modified file 'mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test'
--- a/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test	2009-02-05 09:49:32 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test	2010-04-05 17:09:35 +0000
@@ -499,7 +499,7 @@ INSERT INTO t10 () VALUES(1,@b1,DEFAULT,
 connection slave;
 source include/wait_for_slave_sql_to_stop.inc;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 # 40 #
 --query_vertical SHOW SLAVE STATUS
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
@@ -556,7 +556,7 @@ INSERT INTO t11 () VALUES(1,@b1,'Testing
 connection slave;
 source include/wait_for_slave_sql_to_stop.inc;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 # 40 #
 --query_vertical SHOW SLAVE STATUS
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
@@ -699,7 +699,7 @@ SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDE
 connection slave;
 source include/wait_for_slave_sql_to_stop.inc;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 # 40 #
 --query_vertical SHOW SLAVE STATUS
 #***************************
 
@@ -765,7 +765,7 @@ SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 O
 connection slave;
 source include/wait_for_slave_sql_to_stop.inc;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 # 40 #
 --query_vertical SHOW SLAVE STATUS
 STOP SLAVE;
 RESET SLAVE;
@@ -842,7 +842,7 @@ SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDE
 connection slave;
 source include/wait_for_slave_sql_to_stop.inc;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 # 40 #
 --query_vertical SHOW SLAVE STATUS
 STOP SLAVE;
 RESET SLAVE;

=== modified file 'mysql-test/extra/rpl_tests/rpl_row_tabledefs.test'
--- a/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test	2009-12-17 00:09:52 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test	2010-04-05 17:09:35 +0000
@@ -139,7 +139,7 @@ sync_slave_with_master;
 --echo **** On Slave ****
 SELECT * FROM t2;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 38 <Last_SQL_Error>
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 # 38 <Last_SQL_Error>
 --query_vertical SHOW SLAVE STATUS
 
 connection master;
@@ -151,7 +151,7 @@ INSERT INTO t4 VALUES (4);
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 38 <Last_SQL_Error>
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 # 38 <Last_SQL_Error> 40 #
 --query_vertical SHOW SLAVE STATUS
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
@@ -165,7 +165,7 @@ INSERT INTO t5 VALUES (5,10,25);
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 38 <Last_SQL_Error>
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 # 38 <Last_SQL_Error> 40 #
 --query_vertical SHOW SLAVE STATUS
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
@@ -179,7 +179,7 @@ INSERT INTO t6 VALUES (6,12,36);
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 38 <Last_SQL_Error>
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 # 38 <Last_SQL_Error> 40 #
 --query_vertical SHOW SLAVE STATUS
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
@@ -188,7 +188,7 @@ connection master;
 INSERT INTO t9 VALUES (6);
 sync_slave_with_master;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 38 <Last_SQL_Error>
+--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 # 38 <Last_SQL_Error>
 --query_vertical SHOW SLAVE STATUS
 
 # Testing some tables extra field that can be null and cannot be null

=== modified file 'mysql-test/include/show_slave_status.inc'
--- a/mysql-test/include/show_slave_status.inc	2007-06-11 20:15:39 +0000
+++ b/mysql-test/include/show_slave_status.inc	2010-04-05 17:09:35 +0000
@@ -3,4 +3,5 @@
 
 --replace_result $MASTER_MYPORT MASTER_PORT
 --replace_column 1 # 8 # 9 # 16 # 23 # 33 # 35 # 36 #
+--replace_regex /[0-9]+-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+/####-##-## ##:##:##/
 query_vertical SHOW SLAVE STATUS;

=== modified file 'mysql-test/include/show_slave_status2.inc'
--- a/mysql-test/include/show_slave_status2.inc	2008-01-14 07:38:02 +0000
+++ b/mysql-test/include/show_slave_status2.inc	2010-04-05 17:09:35 +0000
@@ -5,4 +5,5 @@
 
 --replace_result $MASTER_MYPORT MASTER_PORT
 --replace_column 1 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
+--replace_regex /[0-9]+-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+/####-##-## ##:##:##/
 query_vertical SHOW SLAVE STATUS;

=== modified file 'mysql-test/include/test_fieldsize.inc'
--- a/mysql-test/include/test_fieldsize.inc	2009-09-29 14:10:37 +0000
+++ b/mysql-test/include/test_fieldsize.inc	2010-04-05 17:09:35 +0000
@@ -24,7 +24,7 @@ connection slave;
 START SLAVE;
 --source include/wait_for_slave_sql_to_stop.inc
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 # 40 #
 --query_vertical SHOW SLAVE STATUS
 
 # The following should be 0

=== modified file 'mysql-test/suite/rpl/r/rpl_000015.result'
--- a/mysql-test/suite/rpl/r/rpl_000015.result	2009-11-04 12:28:20 +0000
+++ b/mysql-test/suite/rpl/r/rpl_000015.result	2010-04-05 17:09:35 +0000
@@ -43,8 +43,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	0
 start slave;
@@ -85,8 +87,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 drop table if exists t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_bug33931.result'
--- a/mysql-test/suite/rpl/r/rpl_bug33931.result	2009-11-28 14:53:48 +0000
+++ b/mysql-test/suite/rpl/r/rpl_bug33931.result	2010-04-05 17:09:35 +0000
@@ -40,8 +40,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	0
 Last_IO_Error	
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	#
 Last_SQL_Error	Failed during slave thread initialization
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	0
 SET GLOBAL debug="";

=== modified file 'mysql-test/suite/rpl/r/rpl_change_master.result'
--- a/mysql-test/suite/rpl/r/rpl_change_master.result	2009-10-02 08:35:03 +0000
+++ b/mysql-test/suite/rpl/r/rpl_change_master.result	2010-04-05 17:09:35 +0000
@@ -48,8 +48,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 change master to master_user='root';
@@ -90,8 +92,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 start slave;

=== modified file 'mysql-test/suite/rpl/r/rpl_deadlock_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result	2010-04-05 17:09:35 +0000
@@ -87,8 +87,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 
@@ -151,8 +153,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 
@@ -220,8 +224,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 

=== modified file 'mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result	2009-12-17 21:43:35 +0000
+++ b/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result	2010-04-05 17:09:35 +0000
@@ -130,8 +130,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 
@@ -508,8 +510,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 
@@ -584,8 +588,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -661,8 +667,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -814,8 +822,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1091
 Last_SQL_Error	Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 STOP SLAVE;
@@ -902,8 +912,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1054
 Last_SQL_Error	Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 STOP SLAVE;
@@ -990,8 +1002,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1072
 Last_SQL_Error	Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 STOP SLAVE;

=== modified file 'mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result'
--- a/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result	2009-12-17 21:43:35 +0000
+++ b/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result	2010-04-05 17:09:35 +0000
@@ -130,8 +130,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 
@@ -508,8 +510,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 
@@ -584,8 +588,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -661,8 +667,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -814,8 +822,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1091
 Last_SQL_Error	Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 STOP SLAVE;
@@ -902,8 +912,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1054
 Last_SQL_Error	Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 STOP SLAVE;
@@ -990,8 +1002,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1072
 Last_SQL_Error	Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 STOP SLAVE;

=== modified file 'mysql-test/suite/rpl/r/rpl_flushlog_loop.result'
--- a/mysql-test/suite/rpl/r/rpl_flushlog_loop.result	2009-10-01 17:22:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result	2010-04-05 17:09:35 +0000
@@ -58,7 +58,9 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	#
 Last_IO_Errno	#
 Last_IO_Error	
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	2

=== modified file 'mysql-test/suite/rpl/r/rpl_grant.result'
--- a/mysql-test/suite/rpl/r/rpl_grant.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_grant.result	2010-04-05 17:09:35 +0000
@@ -78,7 +78,9 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1

=== modified file 'mysql-test/suite/rpl/r/rpl_heartbeat.result'
--- a/mysql-test/suite/rpl/r/rpl_heartbeat.result	2009-11-04 12:28:20 +0000
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat.result	2010-04-05 17:09:35 +0000
@@ -89,8 +89,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SHOW SLAVE STATUS;
@@ -130,8 +132,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 show status like 'Slave_heartbeat_period';;

=== modified file 'mysql-test/suite/rpl/r/rpl_incident.result'
--- a/mysql-test/suite/rpl/r/rpl_incident.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_incident.result	2010-04-05 17:09:35 +0000
@@ -62,8 +62,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	0
 Last_IO_Error	
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1590
 Last_SQL_Error	The incident LOST_EVENTS occured on the master. Message: <none>
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
@@ -111,8 +113,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	0
 Last_IO_Error	
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 DROP TABLE t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_known_bugs_detection.result'
--- a/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result	2009-11-03 19:02:56 +0000
+++ b/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result	2010-04-05 17:09:35 +0000
@@ -48,8 +48,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	0
 Last_IO_Error	
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1105
 Last_SQL_Error	Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT * FROM t1;
@@ -137,12 +139,14 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	0
 Last_IO_Error	
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1105
 Last_SQL_Error	Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1 (field_1, field_2, field_3)
 SELECT t2.field_a, t2.field_b, t2.field_c
 FROM t2
 ON DUPLICATE KEY UPDATE
 t1.field_3 = t2.field_c'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT * FROM t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_loaddata_fatal.result'
--- a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result	2010-02-12 23:30:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result	2010-04-05 17:09:35 +0000
@@ -43,8 +43,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
@@ -85,8 +87,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1593
 Last_SQL_Error	Fatal error: Not enough memory
+Last_SQL_Error_Timestamp	####-##-## ##:##:##
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

=== modified file 'mysql-test/suite/rpl/r/rpl_log_pos.result'
--- a/mysql-test/suite/rpl/r/rpl_log_pos.result	2009-11-10 18:45:15 +0000
+++ b/mysql-test/suite/rpl/r/rpl_log_pos.result	2010-04-05 17:09:35 +0000
@@ -47,8 +47,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 start slave;
@@ -90,8 +92,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	####-##-## ##:##:##
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 show master status;

=== modified file 'mysql-test/suite/rpl/r/rpl_replicate_do.result'
--- a/mysql-test/suite/rpl/r/rpl_replicate_do.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_replicate_do.result	2010-04-05 17:09:35 +0000
@@ -63,8 +63,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 create table t1 (ts timestamp);

=== modified file 'mysql-test/suite/rpl/r/rpl_rotate_logs.result'
--- a/mysql-test/suite/rpl/r/rpl_rotate_logs.result	2009-11-03 19:02:56 +0000
+++ b/mysql-test/suite/rpl/r/rpl_rotate_logs.result	2010-04-05 17:09:35 +0000
@@ -51,8 +51,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 select * from t1;
@@ -132,8 +134,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 select * from t2;
@@ -201,8 +205,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 lock tables t3 read;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_colSize.result'
--- a/mysql-test/suite/rpl/r/rpl_row_colSize.result	2009-12-17 21:43:35 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_colSize.result	2010-04-05 17:09:35 +0000
@@ -55,8 +55,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'decimal(20,10)' to type 'decimal(5,2)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -111,8 +113,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'decimal(27,18)' to type 'decimal(27,9)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -167,8 +171,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'decimal(20,10)' to type 'decimal(5,2)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -224,8 +230,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'double' to type 'float'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -281,8 +289,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'bit(64)' to type 'bit(5)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -337,8 +347,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'bit(12)' to type 'bit(11)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -394,8 +406,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'set' to type 'set('4')'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -451,8 +465,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'char(20)' to type 'char(10)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -539,8 +555,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'enum' to type 'enum('44','54')'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -596,8 +614,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'varchar(2000)' to type 'varchar(100)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -652,8 +672,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'varchar(200)' to type 'varchar(10)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -708,8 +730,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'varchar(2000)' to type 'varchar(1000)'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;
@@ -765,8 +789,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	1658
 Last_SQL_Error	Column 0 of table 'test.t1' cannot be converted from type 'tinyblob' to type 'tinyblob'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT COUNT(*) FROM t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_log.result'
--- a/mysql-test/suite/rpl/r/rpl_row_log.result	2009-11-03 19:02:56 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_log.result	2010-04-05 17:09:35 +0000
@@ -284,8 +284,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 show binlog events in 'slave-bin.000005' from 4;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_log_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result	2009-11-03 19:02:56 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result	2010-04-05 17:09:35 +0000
@@ -284,8 +284,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 show binlog events in 'slave-bin.000005' from 4;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_max_relay_size.result'
--- a/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result	2010-04-05 17:09:35 +0000
@@ -58,8 +58,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -108,8 +110,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -158,8 +162,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -205,8 +211,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -253,8 +261,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -299,8 +309,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 flush logs;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_reset_slave.result'
--- a/mysql-test/suite/rpl/r/rpl_row_reset_slave.result	2009-11-04 12:28:20 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_reset_slave.result	2010-04-05 17:09:35 +0000
@@ -41,8 +41,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 stop slave;
@@ -84,8 +86,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 reset slave;
@@ -126,8 +130,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 change master to master_user='root';
@@ -169,8 +175,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 stop slave;

=== modified file 'mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result'
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result	2009-12-17 21:43:35 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result	2010-04-05 17:09:35 +0000
@@ -155,8 +155,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	0
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 INSERT INTO t9 VALUES (4);
@@ -198,8 +200,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	1658
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -243,8 +247,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	1658
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	Column 1 of table 'test.t5' cannot be converted from type 'int' to type 'float'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -288,8 +294,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	1658
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	Column 2 of table 'test.t6' cannot be converted from type 'int' to type 'float'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -332,8 +340,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	0
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 INSERT INTO t7 VALUES (1),(2),(3);

=== modified file 'mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result	2009-12-17 21:43:35 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result	2010-04-05 17:09:35 +0000
@@ -155,8 +155,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	0
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 INSERT INTO t9 VALUES (4);
@@ -198,8 +200,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	1658
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -243,8 +247,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	1658
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	Column 1 of table 'test.t5' cannot be converted from type 'int' to type 'float'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -288,8 +294,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	1658
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	Column 2 of table 'test.t6' cannot be converted from type 'int' to type 'float'
+Last_SQL_Error_Timestamp	#
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
@@ -332,8 +340,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	0
-Last_SQL_Error	<Last_SQL_Error>
+Last_IO_Error_Timestamp	#
+Last_SQL_Errno	<Last_SQL_Error>
+Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 INSERT INTO t7 VALUES (1),(2),(3);

=== modified file 'mysql-test/suite/rpl/r/rpl_row_until.result'
--- a/mysql-test/suite/rpl/r/rpl_row_until.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_until.result	2010-04-05 17:09:35 +0000
@@ -57,8 +57,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 START SLAVE UNTIL MASTER_LOG_FILE='master-no-such-bin.000001', MASTER_LOG_POS=291;
@@ -105,8 +107,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', RELAY_LOG_POS=relay_pos_insert1_t2
@@ -151,8 +155,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 START SLAVE;
@@ -195,8 +201,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 START SLAVE UNTIL MASTER_LOG_FILE='master-bin', MASTER_LOG_POS=561;

=== modified file 'mysql-test/suite/rpl/r/rpl_skip_error.result'
--- a/mysql-test/suite/rpl/r/rpl_skip_error.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_skip_error.result	2010-04-05 17:09:35 +0000
@@ -68,8 +68,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 ==== Clean Up ====
@@ -123,8 +125,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 ==== Clean Up ====

=== modified file 'mysql-test/suite/rpl/r/rpl_ssl.result'
--- a/mysql-test/suite/rpl/r/rpl_ssl.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_ssl.result	2010-04-05 17:09:35 +0000
@@ -56,8 +56,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 STOP SLAVE;
@@ -102,8 +104,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 drop user replssl@localhost;

=== modified file 'mysql-test/suite/rpl/r/rpl_ssl1.result'
--- a/mysql-test/suite/rpl/r/rpl_ssl1.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_ssl1.result	2010-04-05 17:09:35 +0000
@@ -55,8 +55,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 stop slave;
@@ -101,8 +103,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 stop slave;
@@ -157,8 +161,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	Yes
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 drop table t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_log.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_log.result	2010-02-12 23:30:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_log.result	2010-04-05 17:09:35 +0000
@@ -282,8 +282,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 show binlog events in 'slave-bin.000005' from 4;

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result	2010-04-05 17:09:35 +0000
@@ -58,8 +58,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -108,8 +110,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -158,8 +162,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -205,8 +211,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -253,8 +261,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 #
@@ -299,8 +309,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 flush logs;

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_reset_slave.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result	2009-11-04 12:28:20 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result	2010-04-05 17:09:35 +0000
@@ -41,8 +41,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 stop slave;
@@ -84,8 +86,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 reset slave;
@@ -126,8 +130,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 change master to master_user='root';
@@ -169,8 +175,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 stop slave;

=== modified file 'mysql-test/suite/rpl/r/rpl_stm_until.result'
--- a/mysql-test/suite/rpl/r/rpl_stm_until.result	2010-02-12 23:30:44 +0000
+++ b/mysql-test/suite/rpl/r/rpl_stm_until.result	2010-04-05 17:09:35 +0000
@@ -61,8 +61,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
@@ -109,8 +111,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=891;
@@ -155,8 +159,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 start slave;
@@ -201,8 +207,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 ==== Test various error conditions ====

=== modified file 'mysql-test/suite/rpl/r/rpl_temporary_errors.result'
--- a/mysql-test/suite/rpl/r/rpl_temporary_errors.result	2009-10-18 03:57:38 +0000
+++ b/mysql-test/suite/rpl/r/rpl_temporary_errors.result	2010-04-05 17:09:35 +0000
@@ -76,8 +76,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 DROP TABLE t1;

=== modified file 'mysql-test/suite/rpl/t/rpl_bug33931.test'
--- a/mysql-test/suite/rpl/t/rpl_bug33931.test	2009-11-27 23:34:47 +0000
+++ b/mysql-test/suite/rpl/t/rpl_bug33931.test	2010-04-05 17:09:35 +0000
@@ -40,7 +40,7 @@ connection slave;
 source include/wait_for_slave_to_stop.inc;
 
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 19 # 23 # 33 # 37 #
+--replace_column 1 # 8 # 9 # 19 # 23 # 33 # 38 # 40 #
 query_vertical show slave status;
 
 #

=== modified file 'mysql-test/suite/rpl/t/rpl_critical_errors.test'
--- a/mysql-test/suite/rpl/t/rpl_critical_errors.test	2007-12-06 15:27:10 +0000
+++ b/mysql-test/suite/rpl/t/rpl_critical_errors.test	2010-04-05 17:09:35 +0000
@@ -61,7 +61,7 @@ SELECT COUNT(*) FROM t2;
 
 # ... and there the error code should be 1317 (ER_QUERY_INTERRUPTED)
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 20 # 22 # 23 # 33 #
+--replace_column 1 # 7 # 8 # 9 # 20 # 22 # 23 # 33 # 40 #
 query_vertical SHOW SLAVE STATUS;
 
 enable_parsing;

=== modified file 'mysql-test/suite/rpl/t/rpl_incident.test'
--- a/mysql-test/suite/rpl/t/rpl_incident.test	2009-05-02 19:28:54 +0000
+++ b/mysql-test/suite/rpl/t/rpl_incident.test	2010-04-05 17:09:35 +0000
@@ -24,7 +24,7 @@ source include/wait_for_slave_sql_error.
 SELECT * FROM t1;
 
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 6 # 7 # 8 # 9 # 22 # 23 # 33 #
+--replace_column 1 # 6 # 7 # 8 # 9 # 22 # 23 # 33 # 40 #
 --query_vertical SHOW SLAVE STATUS
 
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

=== modified file 'mysql-test/suite/rpl/t/rpl_known_bugs_detection.test'
--- a/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test	2009-11-27 23:34:47 +0000
+++ b/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test	2010-04-05 17:09:35 +0000
@@ -27,7 +27,7 @@ SELECT * FROM t1;
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
 # show the error message
---replace_column 1 # 4 # 7 # 8 # 9 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 23 # 33 # 40 #
 --query_vertical show slave status;
 # show that it was not replicated
 SELECT * FROM t1;
@@ -83,7 +83,7 @@ SELECT * FROM t1;
 connection slave;
 --source include/wait_for_slave_sql_to_stop.inc
 # show the error message
---replace_column 1 # 4 # 7 # 8 # 9 # 23 # 33 #
+--replace_column 1 # 4 # 7 # 8 # 9 # 23 # 33 # 40 #
 --query_vertical show slave status;
 # show that it was not replicated
 SELECT * FROM t1;

=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result	2010-04-05 17:09:35 +0000
@@ -177,8 +177,10 @@ Seconds_Behind_Master	<Seconds_Behind_Ma
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
+Last_IO_Error_Timestamp	<Last_IO_Error_Timestamp>
 Last_SQL_Errno	<Last_SQL_Errno>
 Last_SQL_Error	<Last_SQL_Error>
+Last_SQL_Error_Timestamp	<Last_SQL_Error_Timestamp>
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 set GLOBAL slave_transaction_retries=10;

=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result	2010-04-05 17:09:35 +0000
@@ -54,8 +54,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT * FROM t1 ORDER BY a;
@@ -99,8 +101,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	2
 STOP SLAVE;

=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result	2009-11-10 18:45:15 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result	2010-04-05 17:09:35 +0000
@@ -51,8 +51,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	2
 SELECT * FROM t1 ORDER BY a;
@@ -102,8 +104,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 DROP TABLE t1;

=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result	2010-04-05 17:09:35 +0000
@@ -33,15 +33,15 @@ c1	c2	c3
 row3	C	3
 row4	D	4
 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	Replicate_Ignore_Server_Ids	Master_Server_Id
-<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	Yes	Yes				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No	<Last_IO_Errno>	<Last_IO_Error>	0			1
+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_IO_Error_Timestamp	Last_SQL_Errno	Last_SQL_Error	Last_SQL_Error_Timestamp	Replicate_Ignore_Server_Ids	Master_Server_Id
+<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	Yes	Yes				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No	<Last_IO_Errno>	<Last_IO_Error>	<Last_IO_Error_Timestamp>	0		<Last_SQL_Error_Timestamp>		1
 STOP SLAVE;
 CHANGE MASTER TO
 master_log_file = 'master-bin.000001',
 master_log_pos = <the_pos> ;
 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	Replicate_Ignore_Server_Ids	Master_Server_Id
-<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	No	No				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No	<Last_IO_Errno>	<Last_IO_Error>	0			1
+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_IO_Error_Timestamp	Last_SQL_Errno	Last_SQL_Error	Last_SQL_Error_Timestamp	Replicate_Ignore_Server_Ids	Master_Server_Id
+<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	No	No				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No	<Last_IO_Errno>	<Last_IO_Error>	<Last_IO_Error_Timestamp>	0		<Last_SQL_Error_Timestamp>		1
 START SLAVE;
 SELECT * FROM t1 ORDER BY c3;
 c1	c2	c3
@@ -68,6 +68,6 @@ SELECT * FROM t1;
 c1	c2	c3
 row2	new on slave	2
 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	Replicate_Ignore_Server_Ids	Master_Server_Id
-<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	Yes	Yes				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	<Last_IO_Errno>	<Last_IO_Error>		0			1
+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_IO_Error_Timestamp	Last_SQL_Errno	Last_SQL_Error	Last_SQL_Error_Timestamp	Replicate_Ignore_Server_Ids	Master_Server_Id
+<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	Yes	Yes				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No	<Last_IO_Errno>	<Last_IO_Error>	<Last_IO_Error_Timestamp>	0		<Last_SQL_Error_Timestamp>		1
 DROP TABLE IF EXISTS t1;

=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result	2009-11-03 19:02:56 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result	2010-04-05 17:09:35 +0000
@@ -300,8 +300,10 @@ Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
 Last_IO_Error	#
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 show binlog events in 'slave-bin.000005' from 4;

=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result	2009-10-01 16:44:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result	2010-04-05 17:09:35 +0000
@@ -105,8 +105,10 @@ Seconds_Behind_Master	<Seconds_Behind_Ma
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	<Last_IO_Errno>
 Last_IO_Error	<Last_IO_Error>
+Last_IO_Error_Timestamp	
 Last_SQL_Errno	0
 Last_SQL_Error	
+Last_SQL_Error_Timestamp	
 Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;

=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test	2009-07-14 19:31:19 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test	2010-04-05 17:09:35 +0000
@@ -196,7 +196,7 @@ source include/wait_for_slave_sql_to_sto
 # Replication should have stopped, since max retries were not enough.
 # verify with show slave status
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 19 <Last_Errno> 20 <Last_Error> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 <Last_SQL_Errno> 38 <Last_SQL_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 19 <Last_Errno> 20 <Last_Error> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 <Last_IO_Error_Timestamp> 38 <Last_SQL_Errno> 39 <Last_SQL_Error> 40 <Last_SQL_Error_Timestamp>
 --query_vertical SHOW SLAVE STATUS;
 
 # now set max retries high enough to succeed, and start slave again

=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test	2007-07-25 13:40:43 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test	2010-04-05 17:09:35 +0000
@@ -43,7 +43,7 @@ SELECT * FROM t1 ORDER BY c3;
 SELECT * FROM t1 ORDER BY c3;
 
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 <Last_IO_Error_Timestamp> 40 <Last_SQL_Error_Timestamp>
 SHOW SLAVE STATUS;
 
 # stop slave and reset position to before the last changes
@@ -54,7 +54,7 @@ eval CHANGE MASTER TO
   master_log_pos = $the_pos ;
 
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 <Last_IO_Error_Timestamp> 40 <Last_SQL_Error_Timestamp>
 SHOW SLAVE STATUS;
 
 # start the slave again
@@ -107,7 +107,7 @@ COMMIT;
 --connection slave
 SELECT * FROM t1;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 34 <Last_IO_Errno> 35 <Last_IO_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 <Last_IO_Error_Timestamp> 40 <Last_SQL_Error_Timestamp>
 SHOW SLAVE STATUS;
 
 connection master;

=== modified file 'sql/rpl_reporting.cc'
--- a/sql/rpl_reporting.cc	2009-06-16 15:04:30 +0000
+++ b/sql/rpl_reporting.cc	2010-04-05 17:09:35 +0000
@@ -21,9 +21,11 @@ Slave_reporting_capability::report(logle
       It's an error, it must be reported in Last_error and Last_errno in SHOW
       SLAVE STATUS.
     */
+
     pbuff= m_last_error.message;
     pbuffsize= sizeof(m_last_error.message);
     m_last_error.number = err_code;
+    m_last_error.update_timestamp();
     report_function= sql_print_error;
     break;
   case WARNING_LEVEL:

=== modified file 'sql/rpl_reporting.h'
--- a/sql/rpl_reporting.h	2009-06-16 15:04:30 +0000
+++ b/sql/rpl_reporting.h	2010-04-05 17:09:35 +0000
@@ -67,12 +67,36 @@ public:
     {
       number= 0;
       message[0]= '\0';
+      timestamp[0]= '\0';
+
+    }
+
+    void update_timestamp()
+    {
+      time_t skr;
+      struct tm tm_tmp;
+      struct tm *start;
+
+      skr= my_time(0);
+      localtime_r(&skr, &tm_tmp);
+      start=&tm_tmp;
+
+      my_sprintf(timestamp, (timestamp, "%04d-%02d-%02d %2d:%02d:%02d", 
+                         start->tm_year + 1900,
+                         start->tm_mon+1,
+                         start->tm_mday,
+                         start->tm_hour,
+                         start->tm_min,
+                         start->tm_sec));
+      timestamp[19]= '\0';
     }
 
     /** Error code */
     uint32 number;
     /** Error message */
     char message[MAX_SLAVE_ERRMSG];
+    /** Error timestamp as string */
+    char timestamp[20];
   };
 
   Error const& last_error() const { return m_last_error; }

=== modified file 'sql/slave.cc'
--- a/sql/slave.cc	2010-02-12 23:30:44 +0000
+++ b/sql/slave.cc	2010-04-05 17:09:35 +0000
@@ -1717,8 +1717,10 @@ bool show_master_info(THD* thd, Master_i
                                              3));
   field_list.push_back(new Item_return_int("Last_IO_Errno", 4, MYSQL_TYPE_LONG));
   field_list.push_back(new Item_empty_string("Last_IO_Error", 20));
+  field_list.push_back(new Item_empty_string("Last_IO_Error_Timestamp", 20));
   field_list.push_back(new Item_return_int("Last_SQL_Errno", 4, MYSQL_TYPE_LONG));
   field_list.push_back(new Item_empty_string("Last_SQL_Error", 20));
+  field_list.push_back(new Item_empty_string("Last_SQL_Error_Timestamp", 20));
   field_list.push_back(new Item_empty_string("Replicate_Ignore_Server_Ids",
                                              FN_REFLEN));
   field_list.push_back(new Item_return_int("Master_Server_Id", sizeof(ulong),
@@ -1841,10 +1843,15 @@ bool show_master_info(THD* thd, Master_i
     protocol->store(mi->last_error().number);
     // Last_IO_Error
     protocol->store(mi->last_error().message, &my_charset_bin);
+    // Last_IO_Error_Timestamp
+    protocol->store(mi->last_error().timestamp, &my_charset_bin);
     // Last_SQL_Errno
     protocol->store(mi->rli.last_error().number);
     // Last_SQL_Error
     protocol->store(mi->rli.last_error().message, &my_charset_bin);
+    // Last_SQL_Error_Timestamp
+    protocol->store(mi->rli.last_error().timestamp, &my_charset_bin);
+
     // Replicate_Ignore_Server_Ids
     {
       char buff[FN_REFLEN];


Attachment: [text/bzr-bundle] bzr/luis.soares@sun.com-20100405170935-qswfe2fkhqkds3s0.bundle
Thread
bzr commit into mysql-5.1-rep+2 branch (luis.soares:3183) Bug#43535Luis Soares5 Apr