List:Commits« Previous MessageNext Message »
From:Georgi Kodinov Date:October 3 2008 2:24pm
Subject:bzr commit into mysql-5.1 branch (kgeorge:2757) Bug#39812
View as plain text  
#At file:///home/kgeorge/mysql/bzr/B39812-5.1-5.1.29-rc/

 2757 Georgi Kodinov	2008-10-03
      Bug #39812: Make statement replication default for 5.1 (to match 5.0)
      
      Make STMT replication default for 5.1.
      Add a default of MIXED into the config files
      Fix the tests that needed MIXED replication mode.
modified:
  mysql-test/include/mix1.inc
  mysql-test/r/innodb-semi-consistent.result
  mysql-test/r/innodb.result
  mysql-test/r/innodb_mysql.result
  mysql-test/r/tx_isolation_func.result
  mysql-test/t/innodb-semi-consistent.test
  mysql-test/t/innodb.test
  mysql-test/t/tx_isolation_func.test
  sql/mysqld.cc
  support-files/my-huge.cnf.sh
  support-files/my-innodb-heavy-4G.cnf.sh
  support-files/my-large.cnf.sh
  support-files/my-medium.cnf.sh
  support-files/my-small.cnf.sh

per-file messages:
  mysql-test/include/mix1.inc
    Bug #39812: Fix the tests that needed MIXED replication mode.
  mysql-test/r/innodb-semi-consistent.result
    Bug #39812: Fix the tests that needed MIXED replication mode.
  mysql-test/r/innodb.result
    Bug #39812: Fix the tests that needed MIXED replication mode.
  mysql-test/r/innodb_mysql.result
    Bug #39812: Fix the tests that needed MIXED replication mode.
  mysql-test/r/tx_isolation_func.result
    Bug #39812: Fix the tests that needed MIXED replication mode.
  mysql-test/t/innodb-semi-consistent.test
    Bug #39812: Fix the tests that needed MIXED replication mode.
  mysql-test/t/innodb.test
    Bug #39812: Fix the tests that needed MIXED replication mode.
  mysql-test/t/tx_isolation_func.test
    Bug #39812: Fix the tests that needed MIXED replication mode.
  sql/mysqld.cc
    Bug #39812: Make STMT replication default for 5.1.
  support-files/my-huge.cnf.sh
    Bug #39812: Add a default of MIXED into the config files
  support-files/my-innodb-heavy-4G.cnf.sh
    Bug #39812: Add a default of MIXED into the config files
  support-files/my-large.cnf.sh
    Bug #39812: Add a default of MIXED into the config files
  support-files/my-medium.cnf.sh
    Bug #39812: Add a default of MIXED into the config files
  support-files/my-small.cnf.sh
    Bug #39812: Add a default of MIXED into the config files
=== modified file 'mysql-test/include/mix1.inc'
--- a/mysql-test/include/mix1.inc	2008-07-25 15:12:47 +0000
+++ b/mysql-test/include/mix1.inc	2008-10-03 12:24:19 +0000
@@ -1256,6 +1256,7 @@ connect (con1,localhost,root,,);
 connect (con2,localhost,root,,);
 SET SESSION AUTOCOMMIT = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+set binlog_format=mixed;
 --echo # Switch to connection con1
 connection con1;
 

=== modified file 'mysql-test/r/innodb-semi-consistent.result'
--- a/mysql-test/r/innodb-semi-consistent.result	2007-11-27 08:25:45 +0000
+++ b/mysql-test/r/innodb-semi-consistent.result	2008-10-03 12:24:19 +0000
@@ -1,4 +1,5 @@
 drop table if exists t1;
+set binlog_format=mixed;
 set session transaction isolation level read committed;
 create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
 insert into t1 values (1),(2),(3),(4),(5),(6),(7);
@@ -6,6 +7,7 @@ set autocommit=0;
 select * from t1 where a=3 lock in share mode;
 a
 3
+set binlog_format=mixed;
 set session transaction isolation level read committed;
 set autocommit=0;
 update t1 set a=10 where a=5;

=== modified file 'mysql-test/r/innodb.result'
--- a/mysql-test/r/innodb.result	2008-08-20 22:18:33 +0000
+++ b/mysql-test/r/innodb.result	2008-10-03 12:24:19 +0000
@@ -1024,6 +1024,7 @@ id	code	name
 4	2	Erik
 5	3	Sasha
 COMMIT;
+SET binlog_format='MIXED';
 BEGIN;
 SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
 insert into t1 (code, name) values (3, 'Jeremy'), (4, 'Matt');
@@ -2961,9 +2962,11 @@ drop table t1,t2;
 create table t1(a int not null, b int, primary key(a)) engine=innodb;
 insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
 commit;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 update t1 set b = 5 where b = 1;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 select * from t1 where a = 7 and b = 3 for update;
@@ -3002,6 +3005,7 @@ d	e
 3	1
 8	6
 12	1
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 insert into t1 select * from t2;
@@ -3032,30 +3036,39 @@ a	b
 3	1
 8	6
 12	1
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 insert into t1 select * from t2;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 update t3 set b = (select b from t2 where a = d);
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 create table t4(a int not null, b int, primary key(a)) engine=innodb select * from t2;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 insert into t5 (select * from t2 lock in share mode);
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 update t6 set e = (select b from t2 where a = d lock in share mode);
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 create table t7(a int not null, b int, primary key(a)) engine=innodb select * from t2
lock in share mode;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 insert into t8 (select * from t2 for update);
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 update t9 set e = (select b from t2 where a = d for update);
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 create table t10(a int not null, b int, primary key(a)) engine=innodb select * from t2
for update;
@@ -3202,6 +3215,7 @@ id
 -10
 1
 DROP TABLE t1;
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 DROP TABLE IF EXISTS t1, t2;
@@ -3212,6 +3226,7 @@ CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
 CREATE TABLE t2 LIKE t1;
 SELECT * FROM t2;
 a
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 INSERT INTO t1 VALUES (1);
@@ -3219,10 +3234,12 @@ COMMIT;
 SELECT * FROM t1 WHERE a=1;
 a
 1
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 SELECT * FROM t2;
 a
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 INSERT INTO t1 VALUES (2);

=== modified file 'mysql-test/r/innodb_mysql.result'
--- a/mysql-test/r/innodb_mysql.result	2008-08-11 18:02:03 +0000
+++ b/mysql-test/r/innodb_mysql.result	2008-10-03 12:24:19 +0000
@@ -1512,6 +1512,7 @@ ok
 drop table t1;
 SET SESSION AUTOCOMMIT = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+set binlog_format=mixed;
 # Switch to connection con1
 CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(256))
 ENGINE = InnoDB;

=== modified file 'mysql-test/r/tx_isolation_func.result'
--- a/mysql-test/r/tx_isolation_func.result	2008-04-10 13:14:28 +0000
+++ b/mysql-test/r/tx_isolation_func.result	2008-10-03 12:24:19 +0000
@@ -21,8 +21,10 @@ INSERT INTO t1 VALUES(24, 24);
 '#----------------------------FN_DYNVARS_184_01--------------------------------------#'
 ** Connection con0 **
 SET SESSION tx_isolation = 'READ-UNCOMMITTED';
+set binlog_format=mixed;
 ** Connection con1 **
 SET SESSION tx_isolation = 'READ-UNCOMMITTED';
+set binlog_format=mixed;
 ** Connection con0 **
 START TRANSACTION;
 SELECT * FROM t1 WHERE a IN (2,4,6,8) FOR UPDATE;

=== modified file 'mysql-test/t/innodb-semi-consistent.test'
--- a/mysql-test/t/innodb-semi-consistent.test	2007-11-27 08:25:45 +0000
+++ b/mysql-test/t/innodb-semi-consistent.test	2008-10-03 12:24:19 +0000
@@ -10,6 +10,7 @@ drop table if exists t1;
 connect (a,localhost,root,,);
 connect (b,localhost,root,,);
 connection a;
+set binlog_format=mixed;
 set session transaction isolation level read committed;
 create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
 insert into t1 values (1),(2),(3),(4),(5),(6),(7);
@@ -17,6 +18,7 @@ set autocommit=0;
 # this should lock the entire table
 select * from t1 where a=3 lock in share mode;
 connection b;
+set binlog_format=mixed;
 set session transaction isolation level read committed;
 set autocommit=0;
 -- error ER_LOCK_WAIT_TIMEOUT

=== modified file 'mysql-test/t/innodb.test'
--- a/mysql-test/t/innodb.test	2008-08-20 22:18:33 +0000
+++ b/mysql-test/t/innodb.test	2008-10-03 12:24:19 +0000
@@ -701,6 +701,7 @@ insert into t1 (code, name) values (2, '
 select id, code, name from t1 order by id;
 COMMIT;
 
+SET binlog_format='MIXED';
 BEGIN;
 SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
 insert into t1 (code, name) values (3, 'Jeremy'), (4, 'Matt');
@@ -2000,10 +2001,12 @@ connection a;
 create table t1(a int not null, b int, primary key(a)) engine=innodb;
 insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
 commit;
+SET binlog_format='MIXED';
 set autocommit = 0; 
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 update t1 set b = 5 where b = 1;
 connection b;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 #
@@ -2071,6 +2074,7 @@ commit;
 set autocommit = 0;
 select * from t2 for update;
 connection b;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 insert into t1 select * from t2;
@@ -2127,46 +2131,55 @@ commit;
 set autocommit = 0;
 select * from t2 for update;
 connection b;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 --send
 insert into t1 select * from t2;
 connection c;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 --send
 update t3 set b = (select b from t2 where a = d);
 connection d;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 --send
 create table t4(a int not null, b int, primary key(a)) engine=innodb select * from t2;
 connection e;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 --send
 insert into t5 (select * from t2 lock in share mode);
 connection f;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 --send
 update t6 set e = (select b from t2 where a = d lock in share mode);
 connection g;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 --send
 create table t7(a int not null, b int, primary key(a)) engine=innodb select * from t2
lock in share mode;
 connection h;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 --send
 insert into t8 (select * from t2 for update);
 connection i;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 --send
 update t9 set e = (select b from t2 where a = d for update);
 connection j;
+SET binlog_format='MIXED';
 set autocommit = 0;
 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 --send
@@ -2380,6 +2393,7 @@ DROP TABLE t1;
 CONNECT (c1,localhost,root,,);
 CONNECT (c2,localhost,root,,);
 CONNECTION c1;
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 DROP TABLE IF EXISTS t1, t2;
@@ -2387,6 +2401,7 @@ CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
 CREATE TABLE t2 LIKE t1;
 SELECT * FROM t2;
 CONNECTION c2;
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 INSERT INTO t1 VALUES (1);
@@ -2398,10 +2413,12 @@ DISCONNECT c2;
 CONNECT (c1,localhost,root,,);
 CONNECT (c2,localhost,root,,);
 CONNECTION c1;
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 SELECT * FROM t2;
 CONNECTION c2;
+SET binlog_format='MIXED';
 SET TX_ISOLATION='read-committed';
 SET AUTOCOMMIT=0;
 INSERT INTO t1 VALUES (2);

=== modified file 'mysql-test/t/tx_isolation_func.test'
--- a/mysql-test/t/tx_isolation_func.test	2008-04-14 15:21:18 +0000
+++ b/mysql-test/t/tx_isolation_func.test	2008-10-03 12:24:19 +0000
@@ -75,10 +75,12 @@ INSERT INTO t1 VALUES(24, 24);
 --echo ** Connection con0 **
 connection con0;
 SET SESSION tx_isolation = 'READ-UNCOMMITTED';
+set binlog_format=mixed;
 
 --echo ** Connection con1 **
 connection con1;
 SET SESSION tx_isolation = 'READ-UNCOMMITTED';
+set binlog_format=mixed;
 
 #
 # Testing WHERE on keys using IN clause

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2008-10-01 12:24:35 +0000
+++ b/sql/mysqld.cc	2008-10-03 12:24:19 +0000
@@ -3753,23 +3753,25 @@ with --log-bin instead.");
     unireg_abort(1);
   }
   if (!opt_bin_log)
-    if (opt_binlog_format_id != BINLOG_FORMAT_UNSPEC)
   {
-    sql_print_error("You need to use --log-bin to make "
-                    "--binlog-format work.");
-    unireg_abort(1);
-  }
+    if (opt_binlog_format_id != BINLOG_FORMAT_UNSPEC)
+    {
+      sql_print_error("You need to use --log-bin to make "
+                      "--binlog-format work.");
+      unireg_abort(1);
+    }
     else
-  {
-      global_system_variables.binlog_format= BINLOG_FORMAT_MIXED;
+    {
+      global_system_variables.binlog_format= BINLOG_FORMAT_STMT;
     }
+  }
   else
     if (opt_binlog_format_id == BINLOG_FORMAT_UNSPEC)
-      global_system_variables.binlog_format= BINLOG_FORMAT_MIXED;
+      global_system_variables.binlog_format= BINLOG_FORMAT_STMT;
     else
     { 
       DBUG_ASSERT(global_system_variables.binlog_format != BINLOG_FORMAT_UNSPEC);
-  }
+    }
 
   /* Check that we have not let the format to unspecified at this point */
   DBUG_ASSERT((uint)global_system_variables.binlog_format <=

=== modified file 'support-files/my-huge.cnf.sh'
--- a/support-files/my-huge.cnf.sh	2008-07-19 08:31:33 +0000
+++ b/support-files/my-huge.cnf.sh	2008-10-03 12:24:19 +0000
@@ -112,6 +112,9 @@ server-id	= 1
 #
 # binary logging - not required for slaves, but recommended
 #log-bin=mysql-bin
+#
+# binary logging format - mixed recommended 
+#binlog_format=mixed
 
 # Point the following paths to different dedicated disks
 #tmpdir		= /tmp/		

=== modified file 'support-files/my-innodb-heavy-4G.cnf.sh'
--- a/support-files/my-innodb-heavy-4G.cnf.sh	2008-07-09 22:13:42 +0000
+++ b/support-files/my-innodb-heavy-4G.cnf.sh	2008-10-03 12:24:19 +0000
@@ -191,6 +191,9 @@ tmp_table_size = 64M
 # the ability to do point in time recovery from your latest backup.
 log-bin=mysql-bin
 
+# binary logging format - mixed recommended
+binlog_format=mixed
+
 # If you're using replication with chained slaves (A->B->C), you need to
 # enable this option on server B. It enables logging of updates done by
 # the slave thread into the slave's binary log.

=== modified file 'support-files/my-large.cnf.sh'
--- a/support-files/my-large.cnf.sh	2008-07-19 08:31:33 +0000
+++ b/support-files/my-large.cnf.sh	2008-10-03 12:24:19 +0000
@@ -53,6 +53,9 @@ skip-federated
 # binary logging is required for replication
 log-bin=mysql-bin
 
+# binary logging format - mixed recommended
+binlog_format=mixed
+
 # required unique id between 1 and 2^32 - 1
 # defaults to 1 if master-host is not set
 # but will not function as a master if omitted

=== modified file 'support-files/my-medium.cnf.sh'
--- a/support-files/my-medium.cnf.sh	2008-07-19 08:31:33 +0000
+++ b/support-files/my-medium.cnf.sh	2008-10-03 12:24:19 +0000
@@ -51,6 +51,9 @@ skip-federated
 # binary logging is required for replication
 log-bin=mysql-bin
 
+# binary logging format - mixed recommended
+binlog_format=mixed
+
 # required unique id between 1 and 2^32 - 1
 # defaults to 1 if master-host is not set
 # but will not function as a master if omitted

=== modified file 'support-files/my-small.cnf.sh'
--- a/support-files/my-small.cnf.sh	2008-07-09 22:13:42 +0000
+++ b/support-files/my-small.cnf.sh	2008-10-03 12:24:19 +0000
@@ -48,6 +48,9 @@ server-id	= 1
 # Uncomment the following if you want to log updates
 #log-bin=mysql-bin
 
+# binary logging format - mixed recommended
+#binlog_format=mixed
+
 # Uncomment the following if you are using InnoDB tables
 #innodb_data_home_dir = @localstatedir@/
 #innodb_data_file_path = ibdata1:10M:autoextend

Thread
bzr commit into mysql-5.1 branch (kgeorge:2757) Bug#39812Georgi Kodinov3 Oct