include/master-slave.inc
[connection master]
drop table if exists t1;
create table t1(n char(30));
prepare stmt1 from 'insert into t1 values (?)';
set @var1= "from-master-1";
execute stmt1 using @var1;
set @var1= "from-master-2-'',";
execute stmt1 using @var1;
SELECT * FROM t1 ORDER BY n;
n
from-master-1
from-master-2-'',
set @var2= 'insert into t1 values (concat("from-var-", ?))';
prepare stmt2 from @var2;
set @var1='from-master-3';
execute stmt2 using @var1;
SELECT * FROM t1 ORDER BY n;
n
from-master-1
from-master-2-'',
from-var-from-master-3
drop table t1;
stop slave;
include/wait_for_slave_to_stop.inc

########################################################################
#
# BUG#25843: Changing default database between PREPARE and EXECUTE of
# statement breaks binlog.
#
########################################################################
# Connection: slave
START SLAVE;
# Connection: master
CREATE DATABASE mysqltest1;
CREATE TABLE t1(db_name CHAR(32), db_col_name CHAR(32));
PREPARE stmt_d_1 FROM 'INSERT INTO t1 VALUES(DATABASE(), @@collation_database)';
EXECUTE stmt_d_1;
use mysqltest1;
EXECUTE stmt_d_1;
# Connection: slave
SELECT * FROM t1;
db_name	db_col_name
test	latin1_swedish_ci
test	latin1_swedish_ci
# Connection: master
DROP DATABASE mysqltest1;
use test;
DROP TABLE t1;
include/rpl_end.inc
