Hi Zhenxing,
Patch approved. Good work!
/Sven
He Zhenxing wrote:
> #At file:///media/sdb2/hezx/work/mysql/bzrwork/b40707/5.1-rpl/
>
> 2701 He Zhenxing 2008-11-24
> BUG#40707 rpl_multi_engine fails sporadically in pushbuild
>
> If before running test rpl_mulit_engin, the mysqltest1 database exists
> on master but not exists on slave, then the following statement:
>
> create database if not exists mysqltest1;
>
> would not be logged to binary log, and so the database would not be
> created on slave. This would cause the test to fail and reporting
> mysqltest1 database not existed on slave.
>
> This patch fixed this problem by not using a different database for
> the whole test, just use the default test database, there is no reason
> why a seperate database is used for this test.
> modified:
> mysql-test/include/rpl_multi_engine.inc
> mysql-test/suite/rpl/r/rpl_multi_engine.result
> mysql-test/suite/rpl/t/rpl_multi_engine.test
>
> per-file messages:
> mysql-test/include/rpl_multi_engine.inc
> use default test database instead of mysqltest1
> mysql-test/suite/rpl/r/rpl_multi_engine.result
> use default test database instead of mysqltest1
> mysql-test/suite/rpl/t/rpl_multi_engine.test
> use default test database instead of mysqltest1
> add missing --enable_warnings
> === modified file 'mysql-test/include/rpl_multi_engine.inc'
> --- a/mysql-test/include/rpl_multi_engine.inc 2005-12-22 05:39:02 +0000
> +++ b/mysql-test/include/rpl_multi_engine.inc 2008-11-24 06:57:23 +0000
> @@ -9,7 +9,7 @@ select id,hex(b1),vc,bc,d,f,total,y,t fr
> sync_slave_with_master;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> connection master;
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> sync_slave_with_master;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
>
> === modified file 'mysql-test/suite/rpl/r/rpl_multi_engine.result'
> --- a/mysql-test/suite/rpl/r/rpl_multi_engine.result 2007-06-27 12:28:02 +0000
> +++ b/mysql-test/suite/rpl/r/rpl_multi_engine.result 2008-11-24 06:57:23 +0000
> @@ -4,13 +4,10 @@ reset master;
> reset slave;
> drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
> start slave;
> -create database if not exists mysqltest1;
> -use mysqltest1;
> drop table if exists t1;
> CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
> VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
> 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
> -use mysqltest1;
> alter table t1 engine=myisam;
> show create table t1;
> Table Create Table
> @@ -55,7 +52,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -89,7 +86,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -123,7 +120,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -172,7 +169,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -206,7 +203,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -240,7 +237,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -289,7 +286,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -323,7 +320,7 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> @@ -357,10 +354,9 @@ id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> 42 0 Testing MySQL databases is a cool Must make it bug free for the
> customer 654321.4321 15.21 0 1965 2005-09-09 00:00:00
> -DELETE FROM mysqltest1.t1 WHERE id = 42;
> +DELETE FROM t1 WHERE id = 42;
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
> id hex(b1) vc bc d f total y t
> DROP TABLE t1;
> -DROP DATABASE mysqltest1;
>
> === modified file 'mysql-test/suite/rpl/t/rpl_multi_engine.test'
> --- a/mysql-test/suite/rpl/t/rpl_multi_engine.test 2007-06-27 12:28:02 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_multi_engine.test 2008-11-24 06:57:23 +0000
> @@ -12,16 +12,14 @@ connection slave;
> connection master;
> -- source include/have_innodb.inc
> --disable_warnings
> -create database if not exists mysqltest1;
> -use mysqltest1;
> drop table if exists t1;
> +--enable_warnings
>
> CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
> VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
> 0, total BIGINT UNSIGNED, y YEAR, t TIMESTAMP,PRIMARY KEY(id));
>
> sync_slave_with_master;
> -use mysqltest1;
>
> # MyISAM to MyISAM then InnoDB then MEMORY
>
> @@ -101,8 +99,6 @@ show create table t1;
> # cleanup
> connection master;
> DROP TABLE t1;
> -# Need to drop mysqltest1 as well so other test will pass.
> -DROP DATABASE mysqltest1;
> sync_slave_with_master;
>
> # End of 5.1 test case
>
>
--
Sven Sandberg, Software Engineer
MySQL AB, www.mysql.com