302
302
SHOW BINLOG EVENTS;
307
--echo # BUG#54903 BINLOG statement toggles session variables
308
--echo # ----------------------------------------------------------------------
309
--echo # This test verify that BINLOG statement doesn't change current session's
310
--echo # variables foreign_key_checks and unique_checks.
312
CREATE TABLE t1 (c1 INT KEY);
314
SET @@SESSION.foreign_key_checks= ON;
315
SET @@SESSION.unique_checks= ON;
317
--echo # INSERT INTO t1 VALUES (1)
318
--echo # foreign_key_checks=0 and unique_checks=0
320
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
321
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
325
--echo # Their values should be ON
326
SHOW SESSION VARIABLES LIKE "%_checks";
329
SET @@SESSION.foreign_key_checks= OFF;
330
SET @@SESSION.unique_checks= OFF;
332
--echo # INSERT INTO t1 VALUES(2)
333
--echo # foreign_key_checks=1 and unique_checks=1
335
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
336
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
340
--echo # Their values should be OFF
341
SHOW SESSION VARIABLES LIKE "%_checks";
343
--echo # INSERT INTO t1 VALUES(2)
344
--echo # foreign_key_checks=1 and unique_checks=1
345
--echo # It should not change current session's variables, even error happens
346
call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
349
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
350
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
354
--echo # Their values should be OFF
355
SHOW SESSION VARIABLES LIKE "%_checks";
305
359
disconnect fresh;