mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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. 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
This commit is contained in:
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -701,6 +701,7 @@ insert into t1 (code, name) values (2, 'Erik'), (3, 'Sasha');
|
||||
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);
|
||||
|
@ -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
|
||||
|
@ -3753,6 +3753,7 @@ 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 "
|
||||
@ -3761,11 +3762,12 @@ with --log-bin instead.");
|
||||
}
|
||||
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);
|
||||
|
@ -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/
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user