binlog_row_mix_innodb_myisam.test 1.33 KB
Newer Older
1 2 3 4
# 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
5 6 7 8 9 10

# 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

11
-- source extra/binlog_tests/mix_innodb_myisam_binlog.test
12

13 14
--enable_ps_protocol

15 16 17 18 19 20 21
# 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)
22
flush logs;
23
--exec $MYSQL_BINLOG --start-position=520 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
knielsen@mysql.com's avatar
knielsen@mysql.com committed
24
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
25
eval select
knielsen@mysql.com's avatar
knielsen@mysql.com committed
26
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
27 28 29
is not null;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
eval select
30
@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
31 32
@a not like "%#%error_code=%error_code=%";
drop table t1, t2;