Hi Andrei,
I remember discussing this for 6.0 with you and Alik sometime ago.
Patch is approved.
Regards,
Luís
On Tue, 2010-05-04 at 19:31 +0000, Andrei Elkin wrote:
> #At
> file:///home/andrei/MySQL/BZR/FIXES/5.1-bt-bug50942-mix_innodb_myisam_side_effects-non_det/
> based on revid:kristofer.pettersson@stripped
>
> 3367 Andrei Elkin 2010-05-04
> 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
>
> modified:
> mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test
> mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
> mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
> === modified file
> 'mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test'
> --- a/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test 2008-02-28
> 11:21:44 +0000
> +++ b/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test 2010-05-04
> 19:31:49 +0000
> @@ -214,7 +214,7 @@ CREATE TABLE t5 (a int, PRIMARY KEY (a))
>
> # execute
> --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;
OK
>
> # check
> select count(*) from t1 /* must be 1 */;
>
> === modified file 'mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result'
> --- a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result 2010-03-28
> 11:57:33 +0000
> +++ b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result 2010-05-04
> 19:31:49 +0000
> @@ -879,11 +879,11 @@ delete from t4;
> insert into t3 values (1,1),(2,2);
> insert into t4 values (1,1),(2,2);
> 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'
> select count(*) from t1 /* must be 1 */;
> count(*)
> -2
> +1
Interesting!! Must have slipped in some result update! Annotate can
probably shed some light on this.
> drop table t4;
> delete from t1;
> delete from t2;
>
> === modified file 'mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result'
> --- a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result 2010-03-28
> 11:57:33 +0000
> +++ b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result 2010-05-04
> 19:31:49 +0000
> @@ -802,7 +802,7 @@ delete from t4;
> insert into t3 values (1,1),(2,2);
> insert into t4 values (1,1),(2,2);
> 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;
OK.
> ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
> select count(*) from t1 /* must be 1 */;
> count(*)
>
> text/bzr-bundle type attachment
> (bzr/aelkin@stripped)
> # Bazaar merge directive format 2 (Bazaar 0.90)
> # revision_id: aelkin@stripped
> # target_branch: file:///home/andrei/MySQL/BZR/FIXES/5.1-bt-bug50942-\
> # mix_innodb_myisam_side_effects-non_det/
> # testament_sha1: 6f5bcd2a46b6f480508772fceaed0be62c5f8c69
> # timestamp: 2010-05-04 22:31:54 +0300
> # base_revision_id: kristofer.pettersson@stripped\
> # f9hracq5pqsaomb1
> #
> # Begin bundle
> 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
> 2UZL2EancRdyRThQkIJmreA=
>
>