List:Commits« Previous MessageNext Message »
From:Chuck Bell Date:August 28 2007 1:32am
Subject:RE: bk commit into 5.1 tree (skozlov:1.2564) BUG#29020
View as plain text  
Serge,

Patch looks good. Ok to push. 

Chuck
> -----Original Message-----
> From: Serge Kozlov [mailto:skozlov@stripped] 
> Sent: Monday, August 27, 2007 10:45 AM
> To: commits@stripped
> Subject: bk commit into 5.1 tree (skozlov:1.2564) BUG#29020
> 
> Below is the list of changes that have just been committed 
> into a local
> 5.1 repository of ksm. When ksm does a push these changes 
> will be propagated to the main repository and, within 24 
> hours after the push, to the public repository.
> For information on how to access the public repository see 
> http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
> 
> ChangeSet@stripped, 2007-08-27 18:44:13+04:00, skozlov@stripped +3 -0
>   WL#3694 Replication of Invocation and Invoked Features Testing.
>   Bug#29020 Event results not correctly replicated to slave 
> in RBR: partially.
> 
>   mysql-test/suite/rpl/r/rpl_invoked_features.result@stripped, 
> 2007-08-27 18:44:03+04:00, skozlov@stripped +14 -16
>     Updated result file.
> 
>   mysql-test/suite/rpl/t/disabled.def@stripped, 2007-08-27 
> 18:44:03+04:00, skozlov@stripped +0 -3
>     removed test cases: rpl_invoked_features and 
> rpl_innodb_mixed_* (alreade were commented out)
> 
>   mysql-test/suite/rpl/t/rpl_invoked_features.test@stripped, 
> 2007-08-27 18:44:03+04:00, skozlov@stripped +49 -31
>     Added comments, implemented the waiting via 
> include/wait_condition, minor fixes.
> 
> diff -Nrup 
> a/mysql-test/suite/rpl/r/rpl_invoked_features.result 
> b/mysql-test/suite/rpl/r/rpl_invoked_features.result
> --- a/mysql-test/suite/rpl/r/rpl_invoked_features.result	
> 2007-06-27 16:44:13 +04:00
> +++ b/mysql-test/suite/rpl/r/rpl_invoked_features.result	
> 2007-08-27 18:44:03 +04:00
> @@ -17,13 +17,13 @@ DROP EVENT IF EXISTS e11;  CREATE TABLE 
> t1 (a INT NOT NULL PRIMARY KEY, b INT, c VARCHAR(64)) 
> ENGINE=myisam;  INSERT INTO t1 VALUES (1,1,'1');  INSERT INTO 
> t1 VALUES (2,2,UUID()); -CREATE TABLE t2 (a INT, b INT, c 
> VARCHAR(64)) ENGINE=myisam;
> +CREATE TABLE t2 (a INT UNIQUE, b INT, c VARCHAR(64)) ENGINE=myisam;
>  INSERT INTO t2 VALUES (1,1,'1');
>  INSERT INTO t2 VALUES (2,2,UUID());
>  CREATE TABLE t11 (a INT NOT NULL PRIMARY KEY, b INT, c 
> VARCHAR(64)) ENGINE=innodb;  INSERT INTO t11 VALUES 
> (1,1,'1');  INSERT INTO t11 VALUES (2,2,UUID()); -CREATE 
> TABLE t12 (a INT, b INT, c VARCHAR(64)) ENGINE=innodb;
> +CREATE TABLE t12 (a INT UNIQUE, b INT, c VARCHAR(64)) ENGINE=innodb;
>  INSERT INTO t12 VALUES (1,1,'1');
>  INSERT INTO t12 VALUES (2,2,UUID());
>  
> @@ -49,21 +49,15 @@ BEGIN
>  UPDATE t12 SET c = '';
>  UPDATE t13 SET c = '';
>  END|
> -CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND ENABLE DO
> +CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND DISABLE DO
>  BEGIN
> -DECLARE c INT;
> -SELECT a INTO c FROM t1 WHERE a < 11 ORDER BY a DESC LIMIT 
> 1; -IF c = 7 THEN
> +ALTER EVENT e1 DISABLE;
>  CALL p1(10, '');
> -END IF;
>  END|
> -CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND ENABLE DO
> +CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND DISABLE DO
>  BEGIN
> -DECLARE c INT;
> -SELECT a INTO c FROM t11 WHERE a < 11 ORDER BY a DESC LIMIT 
> 1; -IF c = 7 THEN
> +ALTER EVENT e11 DISABLE;
>  CALL p11(10, '');
> -END IF;
>  END|
>  CREATE FUNCTION f1 (x INT) RETURNS VARCHAR(64)  BEGIN @@ 
> -78,11 +72,11 @@ RETURN f1(x);  END|  CREATE PROCEDURE p1 (IN 
> x INT, IN y VARCHAR(64))  BEGIN -INSERT INTO t1 VALUES (x,x,y);
> +INSERT IGNORE INTO t1 VALUES (x,x,y);
>  END|
>  CREATE PROCEDURE p11 (IN x INT, IN y VARCHAR(64))  BEGIN 
> -INSERT INTO t11 VALUES (x,x,y);
> +INSERT IGNORE INTO t11 VALUES (x,x,y);
>  END|
>  
>  CREATE TABLE t3 SELECT * FROM v1;
> @@ -110,6 +104,8 @@ INSERT INTO t11 VALUES(7,7,f2(7));  
> INSERT INTO t11 VALUES (103,103,'');
>  
>  SET GLOBAL EVENT_SCHEDULER = on;
> +ALTER EVENT e1 ENABLE;
> +ALTER EVENT e11 ENABLE;
>  SET GLOBAL EVENT_SCHEDULER = off;
>  
>  SHOW TABLES LIKE 't%';
> @@ -138,8 +134,8 @@ PROCEDURE	p1
>  PROCEDURE	p11
>  SELECT event_name, status FROM information_schema.events 
> WHERE event_schema='test';
>  event_name	status
> -e1	ENABLED
> -e11	ENABLED
> +e1	DISABLED
> +e11	DISABLED
>  
>  SELECT COUNT(*) FROM t1;
>  COUNT(*)
> @@ -438,6 +434,8 @@ UPDATE t3 SET c='';
>  UPDATE t11 SET c='';
>  UPDATE t12 SET c='';
>  UPDATE t13 SET c='';
> +ALTER TABLE t3 ORDER BY a;
> +ALTER TABLE t13 ORDER BY a;
>  
>  
>  
> diff -Nrup a/mysql-test/suite/rpl/t/disabled.def 
> b/mysql-test/suite/rpl/t/disabled.def
> --- a/mysql-test/suite/rpl/t/disabled.def	2007-08-20 
> 12:31:11 +04:00
> +++ b/mysql-test/suite/rpl/t/disabled.def	2007-08-27 
> 18:44:03 +04:00
> @@ -11,9 +11,6 @@
>  
> ##############################################################
> ################
>  
>  rpl_ddl                  : BUG#26418 2007-03-01 mleich Slave 
> out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK on master
> -#rpl_innodb_mixed_ddl     : Bug #29363 
> rpl.rpl_innodb_mixed_* test failures
> -#rpl_innodb_mixed_dml     : Bug #29363 
> rpl.rpl_innodb_mixed_* test failures
> -rpl_invoked_features     : BUG#29020 2007-06-21 Lars 
> Non-deterministic test case
>  rpl_auto_increment_11932   : Bug#29809 2007-07-16 ingo Slave 
> SQL errors in warnings file
>  rpl_stm_extraColmaster_ndb : WL#3915 : Statement-based 
> replication not supported in ndb. Enable test when supported.
>  rpl_row_extraColmaster_ndb : BUG#29549 : Replication of 
> BLOBs fail for NDB diff -Nrup 
> a/mysql-test/suite/rpl/t/rpl_invoked_features.test 
> b/mysql-test/suite/rpl/t/rpl_invoked_features.test
> --- a/mysql-test/suite/rpl/t/rpl_invoked_features.test	
> 2007-06-27 16:44:05 +04:00
> +++ b/mysql-test/suite/rpl/t/rpl_invoked_features.test	
> 2007-08-27 18:44:03 +04:00
> @@ -8,10 +8,9 @@
>  --source include/master-slave.inc
>  --source include/have_innodb.inc
>  
> -
> -#
> -# Define variables used by test case
> -#
> +# --disable_warnings/--enable_warnings added before/after query # if 
> +one uses UUID() function because we need to avoid warnings # for 
> +STATEMENT binlog format
>  
>  # Non-transactional engine
>  --let $engine_type= myisam
> @@ -45,20 +44,24 @@ DROP EVENT IF EXISTS e11;
>  
>  --echo
>  eval CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b INT, c 
> VARCHAR(64)) ENGINE=$engine_type; ---disable_warnings  INSERT 
> INTO t1 VALUES (1,1,'1');
> +--disable_warnings
>  INSERT INTO t1 VALUES (2,2,UUID());
> -eval CREATE TABLE t2 (a INT, b INT, c VARCHAR(64)) 
> ENGINE=$engine_type;
> +--enable_warnings
> +eval CREATE TABLE t2 (a INT UNIQUE, b INT, c VARCHAR(64)) 
> +ENGINE=$engine_type;
>  INSERT INTO t2 VALUES (1,1,'1');
> +--disable_warnings
>  INSERT INTO t2 VALUES (2,2,UUID());
>  --enable_warnings
>  
>  eval CREATE TABLE t11 (a INT NOT NULL PRIMARY KEY, b INT, c 
> VARCHAR(64)) ENGINE=$engine_type2; ---disable_warnings  
> INSERT INTO t11 VALUES (1,1,'1');
> +--disable_warnings
>  INSERT INTO t11 VALUES (2,2,UUID());
> -eval CREATE TABLE t12 (a INT, b INT, c VARCHAR(64)) 
> ENGINE=$engine_type2;
> +--enable_warnings
> +eval CREATE TABLE t12 (a INT UNIQUE, b INT, c VARCHAR(64)) 
> +ENGINE=$engine_type2;
>  INSERT INTO t12 VALUES (1,1,'1');
> +--disable_warnings
>  INSERT INTO t12 VALUES (2,2,UUID());
>  --enable_warnings
>  
> @@ -96,22 +99,16 @@ BEGIN
>  END|
>  
>  # Create events which will run every 1 sec -CREATE EVENT e1 
> ON SCHEDULE EVERY 1 SECOND ENABLE DO
> +CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND DISABLE DO
>  BEGIN
> -  DECLARE c INT;
> -  SELECT a INTO c FROM t1 WHERE a < 11 ORDER BY a DESC LIMIT 1;
> -  IF c = 7 THEN
> -    CALL p1(10, '');  
> -  END IF;
> +  ALTER EVENT e1 DISABLE;
> +  CALL p1(10, '');
>  END|
>  
> -CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND ENABLE DO
> +CREATE EVENT e11 ON SCHEDULE EVERY 1 SECOND DISABLE DO
>  BEGIN
> -  DECLARE c INT;
> -  SELECT a INTO c FROM t11 WHERE a < 11 ORDER BY a DESC LIMIT 1;
> -  IF c = 7 THEN
> -    CALL p11(10, '');  
> -  END IF;
> +  ALTER EVENT e11 DISABLE;
> +  CALL p11(10, '');  
>  END|
>  
>  # Create functions and procedures used for events
> @@ -130,12 +127,12 @@ END|
>  
>  CREATE PROCEDURE p1 (IN x INT, IN y VARCHAR(64))
>  BEGIN
> -  INSERT INTO t1 VALUES (x,x,y);
> +  INSERT IGNORE INTO t1 VALUES (x,x,y);
>  END|
>  
>  CREATE PROCEDURE p11 (IN x INT, IN y VARCHAR(64))
>  BEGIN
> -  INSERT INTO t11 VALUES (x,x,y);
> +  INSERT IGNORE INTO t11 VALUES (x,x,y);
>  END|
>  
>  DELIMITER ;|
> @@ -147,17 +144,24 @@ DELIMITER ;|
>  
>  # Do some actions for non-transactional tables
>  --echo
> ---disable_warnings
>  CREATE TABLE t3 SELECT * FROM v1;
>  INSERT INTO t1 VALUES (3,3,'');
>  UPDATE t1 SET c='2' WHERE a = 1;
> +--disable_warnings
>  INSERT INTO t1 VALUES(4,4,f1(4));
> +--enable_warnings
>  INSERT INTO t1 VALUES (100,100,'');
> +--disable_warnings
>  CALL p1(5, UUID());
> +--enable_warnings
>  INSERT INTO t1 VALUES (101,101,'');
> +--disable_warnings
>  INSERT INTO t1 VALUES(6,6,f1(6));
> +--enable_warnings
>  INSERT INTO t1 VALUES (102,102,'');
> +--disable_warnings
>  INSERT INTO t1 VALUES(7,7,f2(7));
> +--enable_warnings
>  INSERT INTO t1 VALUES (103,103,'');
>  
>  # Do some actions for transactional tables
> @@ -165,21 +169,34 @@ INSERT INTO t1 VALUES (103,103,'');
>  CREATE TABLE t13 SELECT * FROM v11;
>  INSERT INTO t11 VALUES (3,3,'');
>  UPDATE t11 SET c='2' WHERE a = 1;
> +--disable_warnings
>  INSERT INTO t11 VALUES(4,4,f1(4));
> +--enable_warnings
>  INSERT INTO t11 VALUES (100,100,'');
> +--disable_warnings
>  CALL p11(5, UUID());
> +--enable_warnings
>  INSERT INTO t11 VALUES (101,101,'');
> +--disable_warnings
>  INSERT INTO t11 VALUES(6,6,f1(6));
> +--enable_warnings
>  INSERT INTO t11 VALUES (102,102,'');
> +--disable_warnings
>  INSERT INTO t11 VALUES(7,7,f2(7));
> -INSERT INTO t11 VALUES (103,103,'');
>  --enable_warnings
> +INSERT INTO t11 VALUES (103,103,'');
>  
>  # Scheduler is on
>  --echo
> +# Temporally events fire sequentally due Bug#29020.
>  SET GLOBAL EVENT_SCHEDULER = on;
> -# Wait 2 sec while events will executed
> ---sleep 2
> +# Wait while events will executed
> +ALTER EVENT e1 ENABLE;
> +let $wait_condition= SELECT COUNT(*) = 1 FROM t1 WHERE t1.a = 10;
> +--source include/wait_condition.inc
> +ALTER EVENT e11 ENABLE;
> +let $wait_condition= SELECT COUNT(*) = 1 FROM t11 WHERE t11.a = 10;
> +--source include/wait_condition.inc
>  SET GLOBAL EVENT_SCHEDULER = off;
>  
>  # Check original objects
> @@ -234,7 +251,7 @@ SELECT COUNT(*) FROM t13;
>  SELECT a,b FROM t13 ORDER BY a;
>  SELECT a,b FROM v11 ORDER BY a;
>  
> -# Remove UUID() before comparing
> +# Remove UUID() before comparing and sort tables
>  
>  --connection master
>  --echo
> @@ -245,6 +262,9 @@ UPDATE t11 SET c='';
>  UPDATE t12 SET c='';
>  UPDATE t13 SET c='';
>  
> +ALTER TABLE t3 ORDER BY a;
> +ALTER TABLE t13 ORDER BY a;
> +
>  --sync_slave_with_master slave
>  
>  # Compare a data from master and slave
> @@ -260,13 +280,12 @@ UPDATE t13 SET c='';
>  
>  # Remove dumps
>  --echo
> ---exec rm $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_master.sql
> ---exec rm $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_slave.sql
> +#--exec rm $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_master.sql
> +#--exec rm $MYSQLTEST_VARDIR/tmp/rpl_invoked_features_slave.sql
>  
>  # Remove tables,views,procedures,functions
>  --connection master
>  --echo
> ---disable_warnings
>  DROP VIEW IF EXISTS v1,v11;
>  DROP TABLE IF EXISTS t1,t2,t3,t11,t12,t13;
>  DROP PROCEDURE IF EXISTS p1;
> @@ -275,7 +294,6 @@ DROP FUNCTION IF EXISTS f1;
>  DROP FUNCTION IF EXISTS f2;
>  DROP EVENT IF EXISTS e1;
>  DROP EVENT IF EXISTS e11;
> ---enable_warnings
>  
>  --sync_slave_with_master slave
>  
> 
> -- 
> MySQL Code Commits Mailing List
> For list archives: http://lists.mysql.com/commits
> To unsubscribe:    
> http://lists.mysql.com/commits?unsub=1
> 

Thread
bk commit into 5.1 tree (skozlov:1.2564) BUG#29020Serge Kozlov27 Aug
  • RE: bk commit into 5.1 tree (skozlov:1.2564) BUG#29020Chuck Bell28 Aug
  • Re: bk commit into 5.1 tree (skozlov:1.2564) BUG#29020Magnus Svensson7 Sep
    • Re: bk commit into 5.1 tree (skozlov:1.2564) BUG#29020Serge Kozlov7 Sep