Commit efcc90b6 authored by Andrei Elkin's avatar Andrei Elkin

Bug #50942 mix_innodb_myisam_side_effects.test is not deterministic

The test was used to fail because of 
 UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
did not prescribe the order of two row operations implied by the update.

Fixed with forcing the order with adding a where condition w/o
affecting the former bug fixes logics.

mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test:
  implemented the bug page suggestion to make a test deterministic.
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  results are updated and (!) corrected.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  results are updated
parent 95e712b0
...@@ -214,7 +214,7 @@ CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB; ...@@ -214,7 +214,7 @@ CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
# execute # execute
--error ER_DUP_ENTRY --error ER_DUP_ENTRY
UPDATE t3,t4 SET t3.a=t4.a + bug27417(1); UPDATE t3,t4 SET t3.a = t4.a + bug27417(1) where t3.a = 1;
# check # check
select count(*) from t1 /* must be 1 */; select count(*) from t1 /* must be 1 */;
......
...@@ -879,11 +879,11 @@ delete from t4; ...@@ -879,11 +879,11 @@ delete from t4;
insert into t3 values (1,1),(2,2); insert into t3 values (1,1),(2,2);
insert into t4 values (1,1),(2,2); insert into t4 values (1,1),(2,2);
reset master; reset master;
UPDATE t3,t4 SET t3.a=t4.a + bug27417(1); UPDATE t3,t4 SET t3.a = t4.a + bug27417(1) where t3.a = 1;
ERROR 23000: Duplicate entry '2' for key 'PRIMARY' ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
select count(*) from t1 /* must be 1 */; select count(*) from t1 /* must be 1 */;
count(*) count(*)
2 1
drop table t4; drop table t4;
delete from t1; delete from t1;
delete from t2; delete from t2;
......
...@@ -802,7 +802,7 @@ delete from t4; ...@@ -802,7 +802,7 @@ delete from t4;
insert into t3 values (1,1),(2,2); insert into t3 values (1,1),(2,2);
insert into t4 values (1,1),(2,2); insert into t4 values (1,1),(2,2);
reset master; reset master;
UPDATE t3,t4 SET t3.a=t4.a + bug27417(1); UPDATE t3,t4 SET t3.a = t4.a + bug27417(1) where t3.a = 1;
ERROR 23000: Duplicate entry '2' for key 'PRIMARY' ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
select count(*) from t1 /* must be 1 */; select count(*) from t1 /* must be 1 */;
count(*) count(*)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment