3
# Test that sql_mode can correct restore before generating the binlog event
4
# when creating CREATEable objects.
8
# Scan binlog file to check if the sql_mode is still set to 0 before generating binlog event
11
-- source include/master-slave.inc
12
-- source include/have_log_bin.inc
14
# BUG#39526 sql_mode not retained in binary log for CREATE PROCEDURE
16
SET @old_sql_mode= @@global.sql_mode;
17
SET @old_binlog_format=@@session.binlog_format;
18
let $MYSQLD_DATADIR= `select @@datadir`;
19
SET SESSION sql_mode=8;
24
CREATE TABLE t1 (id INT);
26
CREATE PROCEDURE testProc() SELECT * FROM t1;
27
CREATE VIEW testView as SELECT * from t1;
30
CREATE FUNCTION testFunc()
38
CREATE TRIGGER testTrig BEFORE INSERT ON t1
40
UPDATE t1 SET id = id +1;
45
CREATE EVENT testEvent ON SCHEDULE
49
UPDATE t1 SET id = id +1;
55
let $MYSQLD_DATADIR= `select @@datadir`;
56
--exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog
57
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
59
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog"))
61
let $s_mode_unsigned= `select @a like "%@@session.sql_mode=0%" /* must return 0 */`;
62
echo *** String sql_mode=0 is found: $s_mode_unsigned ***;
64
--remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog
68
DROP PROCEDURE testProc;
69
DROP FUNCTION testFunc;
70
DROP TRIGGER testTrig;
75
SET @@global.sql_mode= @old_sql_mode;
76
SET @@session.binlog_format=@old_binlog_format;