diff options
Diffstat (limited to 'mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test')
-rw-r--r-- | mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test b/mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test new file mode 100644 index 00000000000..346866b01a6 --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test @@ -0,0 +1,33 @@ +# This is a wrapper for binlog.test so that the same test case can be used +# For both statement and row based bin logs 9/19/2005 [jbm] + +-- source include/have_binlog_format_row.inc + +# Bug#18326: Do not lock table for writing during prepare of statement +# The use of the ps protocol causes extra table maps in the binlog, so +# we disable the ps-protocol for this statement. +--disable_ps_protocol + +-- source extra/binlog_tests/mix_innodb_myisam_binlog.test + +--enable_ps_protocol + +# This piece below cannot be put into +# extra/binlog_tests/mix_innodb_myisam_binlog.test +# because the argument of --start-position differs between statement- +# and row-based (and "eval --exec" doesn't work). +# we check that the error code of the "ROLLBACK" event is 0 and not +# ER_SERVER_SHUTDOWN (i.e. disconnection just rolls back transaction +# and does not make slave to stop) +flush logs; +--exec $MYSQL_BINLOG --start-position=520 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +eval select +(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output")) +is not null; + +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR +eval select +@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%", +@a not like "%#%error_code=%error_code=%"; +drop table t1, t2; |