1330
1330
# # Write_rows 1 # table_id: # flags: STMT_END_F
1331
1331
# # Query 1 # COMMIT
1334
# BUG#54903 BINLOG statement toggles session variables
1335
# ----------------------------------------------------------------------
1336
# This test verify that BINLOG statement doesn't change current session's
1337
# variables foreign_key_checks and unique_checks.
1339
CREATE TABLE t1 (c1 INT KEY);
1340
SET @@SESSION.foreign_key_checks= ON;
1341
SET @@SESSION.unique_checks= ON;
1342
# INSERT INTO t1 VALUES (1)
1343
# foreign_key_checks=0 and unique_checks=0
1345
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
1346
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
1351
# Their values should be ON
1352
SHOW SESSION VARIABLES LIKE "%_checks";
1354
foreign_key_checks ON
1357
SET @@SESSION.foreign_key_checks= OFF;
1358
SET @@SESSION.unique_checks= OFF;
1359
# INSERT INTO t1 VALUES(2)
1360
# foreign_key_checks=1 and unique_checks=1
1362
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
1363
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
1369
# Their values should be OFF
1370
SHOW SESSION VARIABLES LIKE "%_checks";
1372
foreign_key_checks OFF
1374
# INSERT INTO t1 VALUES(2)
1375
# foreign_key_checks=1 and unique_checks=1
1376
# It should not change current session's variables, even error happens
1377
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");
1379
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
1380
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
1382
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
1387
# Their values should be OFF
1388
SHOW SESSION VARIABLES LIKE "%_checks";
1390
foreign_key_checks OFF