List:Internals« Previous MessageNext Message »
From:Sasha Pachev Date:November 15 2005 9:38pm
Subject:bk commit into 4.1 tree (sasha:1.2468) BUG#7947
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of sasha. When sasha 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
  1.2468 05/11/15 13:38:06 sasha@stripped +4 -0
  merged in the test case for BUG#7947

  mysql-test/t/mix_innodb_myisam_binlog.test
    1.11 05/11/15 11:09:39 sasha@stripped +27 -1
    merged in the test case for BUG#7947

  mysql-test/r/mix_innodb_myisam_binlog.result
    1.11 05/11/15 11:09:39 sasha@stripped +48 -0
    merged in the test case for BUG#7947

  BitKeeper/deleted/.del-rpl_bug7947.test~20613cfdc560a16c
    1.3 05/11/15 11:08:20 sasha@stripped +0 -0
    Delete: mysql-test/t/rpl_bug7947.test

  BitKeeper/deleted/.del-rpl_bug7947.result~1b40af7545a6c692
    1.3 05/11/15 11:08:20 sasha@stripped +0 -0
    Delete: mysql-test/r/rpl_bug7947.result

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	sasha
# Host:	mysql.sashanet.com
# Root:	/reiser-data/mysql-dev/mysql-4.1-bug7947

--- 1.10/mysql-test/r/mix_innodb_myisam_binlog.result	2005-11-07 20:51:23 -07:00
+++ 1.11/mysql-test/r/mix_innodb_myisam_binlog.result	2005-11-15 11:09:39 -07:00
@@ -203,3 +203,51 @@
 (@after-@before) >= 2
 1
 drop table t1,t2;
+commit;
+begin;
+create temporary table ti (a int) engine=innodb;
+rollback;
+Warnings:
+Warning	1196	Some non-transactional changed tables couldn't be rolled back
+insert into ti values(1);
+set autocommit=0;
+create temporary table t1 (a int) engine=myisam;
+commit;
+insert t1 values (1);
+rollback;
+create table t0 (n int);
+insert t0 select * from t1;
+set autocommit=1;
+insert into t0 select GET_LOCK("lock1",null);
+set autocommit=0;
+create table t2 (n int) engine=innodb;
+insert into t2 values (3);
+select get_lock("lock1",null);
+get_lock("lock1",null)
+0
+show binlog events from 79;
+Log_name	Pos	Event_type	Server_id	Orig_log_pos	Info
+master-bin.000001	79	Query	1	79	use `test`; BEGIN
+master-bin.000001	119	Query	1	79	use `test`; insert into t1 values(16)
+master-bin.000001	179	Query	1	79	use `test`; insert into t1 values(18)
+master-bin.000001	239	Query	1	239	use `test`; COMMIT
+master-bin.000001	280	Query	1	280	use `test`; delete from t1
+master-bin.000001	329	Query	1	329	use `test`; delete from t2
+master-bin.000001	378	Query	1	378	use `test`; alter table t2 type=MyISAM
+master-bin.000001	439	Query	1	439	use `test`; insert into t1 values (1)
+master-bin.000001	499	Query	1	499	use `test`; insert into t2 values (20)
+master-bin.000001	560	Query	1	560	use `test`; drop table t1,t2
+master-bin.000001	611	Query	1	611	use `test`; BEGIN
+master-bin.000001	651	Query	1	611	use `test`; create temporary table ti (a int)
engine=innodb
+master-bin.000001	733	Query	1	733	use `test`; ROLLBACK
+master-bin.000001	776	Query	1	776	use `test`; insert into ti values(1)
+master-bin.000001	835	Query	1	835	use `test`; BEGIN
+master-bin.000001	875	Query	1	835	use `test`; create temporary table t1 (a int)
engine=myisam
+master-bin.000001	957	Query	1	957	use `test`; COMMIT
+master-bin.000001	998	Query	1	998	use `test`; create table t0 (n int)
+master-bin.000001	1056	Query	1	1056	use `test`; insert t0 select * from t1
+master-bin.000001	1117	Query	1	1117	use `test`; DO RELEASE_LOCK("a")
+master-bin.000001	1172	Query	1	1172	use `test`; insert into t0 select
GET_LOCK("lock1",null)
+master-bin.000001	1251	Query	1	1251	use `test`; create table t2 (n int) engine=innodb
+do release_lock("lock1");
+drop table t0,t2;

--- 1.10/mysql-test/t/mix_innodb_myisam_binlog.test	2005-09-15 08:17:14 -06:00
+++ 1.11/mysql-test/t/mix_innodb_myisam_binlog.test	2005-11-15 11:09:39 -07:00
@@ -206,7 +206,33 @@
 # the bug, the reap would return immediately after the insert into t2.
 select (@after-@before) >= 2;
 
-# cleanup
 drop table t1,t2;
+commit;
+
+# test for BUG#7947 - DO RELEASE_LOCK() not written to binlog on rollback in the middle
+# of a transaction
+
+connection con2;
+begin;
+create temporary table ti (a int) engine=innodb;
+rollback;
+insert into ti values(1);
+set autocommit=0;
+create temporary table t1 (a int) engine=myisam; commit;
+insert t1 values (1); rollback;
+create table t0 (n int);
+insert t0 select * from t1;
+set autocommit=1;
+insert into t0 select GET_LOCK("lock1",null);
+set autocommit=0;
+create table t2 (n int) engine=innodb;
+insert into t2 values (3); 
+disconnect con2;
+connection con3;
+select get_lock("lock1",null);
+show binlog events from 79;
+do release_lock("lock1");
+drop table t0,t2;
+
 
 # End of 4.1 tests
Thread
bk commit into 4.1 tree (sasha:1.2468) BUG#7947Sasha Pachev15 Nov