diff --git a/mysql-test/include/wait_for_slave_sql_error.inc b/mysql-test/include/wait_for_slave_sql_error.inc index c454e3eb4d7..2d392f0e761 100644 --- a/mysql-test/include/wait_for_slave_sql_error.inc +++ b/mysql-test/include/wait_for_slave_sql_error.inc @@ -7,15 +7,29 @@ # # source include/wait_for_slave_sql_error.inc; # -# Parameters to this macro are $slave_timeout and -# $slave_keep_connection. See wait_for_slave_param.inc for -# descriptions. +# Parameters: +# +# $slave_sql_errno +# Number of expected SQL error. If it skipped then any error +# will pass. +# +# $slave_timeout and +# See wait_for_slave_param.inc for descriptions. +# +# $slave_keep_connection. +# See wait_for_slave_param.inc for descriptions. let $old_slave_param_comparison= $slave_param_comparison; let $slave_param= Last_SQL_Errno; let $slave_param_comparison= !=; let $slave_param_value= 0; + +if ($slave_sql_errno) { + let $slave_param_comparison= =; + let $slave_param_value= $slave_sql_errno; +} + let $slave_error_message= Failed while waiting for slave to produce an error in its sql thread; source include/wait_for_slave_param.inc; let $slave_error_message= ; diff --git a/mysql-test/suite/rpl/t/rpl_stm_mystery22.test b/mysql-test/suite/rpl/t/rpl_stm_mystery22.test index b43a734fffc..171bd9d5531 100644 --- a/mysql-test/suite/rpl/t/rpl_stm_mystery22.test +++ b/mysql-test/suite/rpl/t/rpl_stm_mystery22.test @@ -28,6 +28,7 @@ insert into t1 values(NULL,'new'); save_master_pos; connection slave; # wait until the slave tries to run the query, fails and aborts slave thread +let $slave_sql_errno= 1062; source include/wait_for_slave_sql_error.inc; select * from t1 order by n; delete from t1 where n = 2;