MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:November 6 2007 11:53am
Subject:bk commit into 5.0 tree (aelkin:1.2549) BUG#27571
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of elkin. When elkin 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-11-06 13:53:26+02:00, aelkin@stripped +3 -0
  bug#27571
  
  commit is specific for 5.0 to eliminated non-deterministic tests.
  Those tests run only in 5.1 env where there is a necessary devices such
  as processlist table of info_schema.

  mysql-test/r/binlog_killed.result@stripped, 2007-11-06 13:53:23+02:00, aelkin@stripped +5 -71
    results changed

  mysql-test/t/binlog_killed.test@stripped, 2007-11-06 13:53:24+02:00, aelkin@stripped +13 -105
    removing non-deterministic part of the test

  mysql-test/t/binlog_killed_simulate.test@stripped, 2007-11-06 13:53:24+02:00, aelkin@stripped +1 -0
    adding the guard same as for 5.1 version

diff -Nrup a/mysql-test/r/binlog_killed.result b/mysql-test/r/binlog_killed.result
--- a/mysql-test/r/binlog_killed.result	2007-10-29 15:20:53 +02:00
+++ b/mysql-test/r/binlog_killed.result	2007-11-06 13:53:23 +02:00
@@ -9,6 +9,9 @@ insert into t2 values (null, null), (nul
 select @result /* must be zero either way */;
 @result
 0
+select RELEASE_LOCK("a");
+RELEASE_LOCK("a")
+1
 delete from t1;
 delete from t2;
 insert into t1 values (1,1),(2,2);
@@ -17,8 +20,7 @@ update t1 set b=11 where a=2;
 update t1 set b=b+10;
 kill query ID;
 rollback;
-ERROR 70100: Query execution was interrupted
-select * from t1 /* must be the same as before (1,1),(2,2) */;
+select * from t1  order by a /* must be the same as before (1,1),(2,2) */;
 a	b
 1	1
 2	2
@@ -27,8 +29,7 @@ delete from t1 where a=2;
 delete from t1 where a=2;
 kill query ID;
 rollback;
-ERROR 70100: Query execution was interrupted
-select * from t1 /* must be the same as before (1,1),(2,2) */;
+select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
 a	b
 1	1
 2	2
@@ -41,78 +42,11 @@ begin;
 insert into t1 select * from t4 for update;
 kill query ID;
 rollback;
-ERROR 70100: Query execution was interrupted
 rollback;
 select * from t1 /* must be the same as before (1,1),(2,2) */;
 a	b
 1	1
 2	2
 drop table t4;
-create function bug27563(n int) 
-RETURNS int(11)
-DETERMINISTIC
-begin
-if n > 1 then
-select get_lock("a", 10)  into @a;
-end if;
-return n;
-end|
-delete from t2;
-insert into t2 values (1,1), (2,2);
-reset master;
-select get_lock("a", 20);
-get_lock("a", 20)
-1
-update t2 set b=b + bug27563(b) order by a;
-kill query ID;
-ERROR 70100: Query execution was interrupted
-select * from t2 /* must be (1,2), (2,2) */;
-a	b
-1	2
-2	2
-show master status  /* must have the update event more to FD */;
-File	Position	Binlog_Do_DB	Binlog_Ignore_DB
-master-bin.000001	211		
-select
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null;
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null
-1
-select 0 /* must return 0 to mean the killed query is in */;
-0
-0
-select RELEASE_LOCK("a");
-RELEASE_LOCK("a")
-1
-delete from t2;
-insert into t2 values (1,1), (2,2);
-reset master;
-select get_lock("a", 20);
-get_lock("a", 20)
-1
-delete from t2 where a=1 or a=bug27563(2) order by a;
-kill query ID;
-ERROR 70100: Query execution was interrupted
-select * from t2 /* must be (1,2), (2,2) */;
-a	b
-1	1
-2	2
-show master status  /* must have the update event more to FD */;
-File	Position	Binlog_Do_DB	Binlog_Ignore_DB
-master-bin.000001	98		
-select
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null;
-(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null
-1
-select 0 /* must return 0 to mean the killed query is in */;
-0
-0
-select RELEASE_LOCK("a");
-RELEASE_LOCK("a")
-1
-drop function bug27563;
 drop table t1,t2,t3;
 end of the tests
diff -Nrup a/mysql-test/t/binlog_killed.test b/mysql-test/t/binlog_killed.test
--- a/mysql-test/t/binlog_killed.test	2007-10-29 15:20:54 +02:00
+++ b/mysql-test/t/binlog_killed.test	2007-11-06 13:53:24 +02:00
@@ -57,6 +57,8 @@ select @result /* must be zero either wa
 
 
 --remove_file $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
+connection con1;
+select RELEASE_LOCK("a");
 
 #
 # bug#27571 asynchronous setting mysql_`query`::error and Query_log_e::error_code
@@ -68,7 +70,6 @@ select @result /* must be zero either wa
 delete from t1;
 delete from t2;
 insert into t1 values (1,1),(2,2);
-let $ID= `select connection_id()`;
 
 #
 # simple update
@@ -77,6 +78,7 @@ connection con1;
 begin; update t1 set b=11 where a=2;
 
 connection con2;
+let $ID= `select connection_id()`;
 send update t1 set b=b+10;
 
 connection con1;
@@ -85,9 +87,9 @@ eval kill query $ID;
 rollback;
 
 connection con2;
---error ER_QUERY_INTERRUPTED
+--error 0,ER_QUERY_INTERRUPTED
 reap;
-select * from t1 /* must be the same as before (1,1),(2,2) */;
+select * from t1  order by a /* must be the same as before (1,1),(2,2) */;
 
 #
 # multi update
@@ -120,6 +122,7 @@ connection con1;
 begin; delete from t1 where a=2;
 
 connection con2;
+let $ID= `select connection_id()`;
 send delete from t1 where a=2;
 
 connection con1;
@@ -128,9 +131,9 @@ eval kill query $ID;
 rollback;
 
 connection con2;
---error ER_QUERY_INTERRUPTED
+--error 0,ER_QUERY_INTERRUPTED
 reap;
-select * from t1 /* must be the same as before (1,1),(2,2) */;
+select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
 
 #
 # multi delete
@@ -163,6 +166,7 @@ insert into t4 values (3, 3);
 begin; insert into t1 values (3, 3);
 
 connection con2;
+let $ID= `select connection_id()`;
 begin;
 send insert into t1 select * from t4 for update;
 
@@ -172,7 +176,7 @@ eval kill query $ID;
 rollback;
 
 connection con2;
---error ER_QUERY_INTERRUPTED
+--error 0,ER_QUERY_INTERRUPTED
 reap;
 rollback;
 select * from t1 /* must be the same as before (1,1),(2,2) */;
@@ -182,106 +186,10 @@ drop table t4; # cleanup for the sub-cas
 ###
 ## non-ta table case: killing must be recorded in binlog
 ###
-delimiter |;
-create function bug27563(n int) 
-RETURNS int(11)
-DETERMINISTIC
-begin
-  if n > 1 then
-     select get_lock("a", 10)  into @a;
-  end if;
-  return n;
-end|
-delimiter ;|
-
-#
-# update
-#
-
-delete from t2;
-insert into t2 values (1,1), (2,2);
-reset master;
-connection con1;
-select get_lock("a", 20);
-
-connection con2;
-let $ID= `select connection_id()`;
-send update t2 set b=b + bug27563(b) order by a;
-
-connection con1;
---replace_result $ID ID
-eval kill query $ID;
-
-connection con2;
---error ER_QUERY_INTERRUPTED
-reap;
-select * from t2 /* must be (1,2), (2,2) */;
-show master status  /* must have the update event more to FD */;
-
-# a proof the query is binlogged with an error
-
---exec $MYSQL_BINLOG --start-position=98 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-eval select
-(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`;
-eval select $error_code /* must return 0 to mean the killed query is in */;
-
-# cleanup for the sub-case
-connection con1;
-select RELEASE_LOCK("a");
---remove_file $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
-
-#
-# delete
-#
-
-delete from t2;
-insert into t2 values (1,1), (2,2);
-reset master;
-connection con1;
-select get_lock("a", 20);
-
-connection con2;
-let $ID= `select connection_id()`;
-send delete from t2 where a=1 or a=bug27563(2) order by a;
-
-connection con1;
---replace_result $ID ID
-eval kill query $ID;
-
-connection con2;
---error ER_QUERY_INTERRUPTED
-reap;
-select * from t2 /* must be (1,2), (2,2) */;
-show master status  /* must have the update event more to FD */;
-
-# a proof the query is binlogged with an error
-
---exec $MYSQL_BINLOG --start-position=98 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-eval select
-(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
-is not null;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`;
-eval select $error_code /* must return 0 to mean the killed query is in */;
-
-# cleanup for the sub-case
-connection con1;
-select RELEASE_LOCK("a");
---remove_file $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
-
-#
-# load data - see simulation tests
-#
-
-
-# bug#27571 cleanup
 
-drop function bug27563;
+# In order to be deterministic the test needs INFORMATION_SCHEMA.PROCESSLIST
+# which is not available on 5.0 at this time.
+# Therefore, skip this part on 5.0.
 
 
 #
diff -Nrup a/mysql-test/t/binlog_killed_simulate.test b/mysql-test/t/binlog_killed_simulate.test
--- a/mysql-test/t/binlog_killed_simulate.test	2007-10-29 15:20:56 +02:00
+++ b/mysql-test/t/binlog_killed_simulate.test	2007-11-06 13:53:24 +02:00
@@ -1,3 +1,4 @@
+-- source include/have_debug.inc
 #
 # bug#27571 asynchronous setting mysql_$query()'s local error and 
 #           Query_log_event::error_code
Thread
bk commit into 5.0 tree (aelkin:1.2549) BUG#27571Andrei Elkin6 Nov