Commit 5529e054 authored by aelkin/elkin@andrepl.dsl.inet.fi's avatar aelkin/elkin@andrepl.dsl.inet.fi

Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl

into  andrepl.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/wl3368_mixed_default
parents ca1bf4b2 7be4bc4e
......@@ -60,24 +60,4 @@ insert into t1 values(null);
select * from t1;
drop table t1;
# Test of binlogging of INSERT_ID with INSERT DELAYED
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
# First, avoid BUG#20627:
set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
# Verify that only one INSERT_ID event is binlogged.
insert delayed into t1 values (207);
# We use sleeps between statements, that's the only way to get a
# repeatable binlog in a normal test run and under Valgrind.
# It may be that the "binlog missing rows" of BUG#20821 shows up
# here.
sleep 2;
insert delayed into t1 values (null);
sleep 2;
insert delayed into t1 values (300);
sleep 2; # time for the delayed queries to reach disk
select * from t1;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events from 102;
drop table t1;
-- source extra/binlog_tests/binlog_insert_delayed.test
# Test of binlogging of INSERT_ID with INSERT DELAYED
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
# First, avoid BUG#20627:
set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
# Verify that only one INSERT_ID event is binlogged.
# Note, that because of WL#3368 mixed mode binlog records RBR events for the delayed
insert delayed into t1 values (207);
# We use sleeps between statements, that's the only way to get a
# repeatable binlog in a normal test run and under Valgrind.
# It may be that the "binlog missing rows" of BUG#20821 shows up
# here.
sleep 2;
insert delayed into t1 values (null);
sleep 2;
insert delayed into t1 values (300);
sleep 2; # time for the delayed queries to reach disk
select * from t1;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events from 102;
drop table t1;
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
# See if replication of a "LOAD DATA in an autoincrement column"
# Honours autoincrement values
......
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
create table t1 (word char(20) not null);
......
......@@ -2,7 +2,7 @@
# This test will fail if the server/client does not support enough charsets.
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc;
--disable_warnings
......
-- require r/have_binlog_format_mixed.require
disable_query_log;
show variables like "binlog_format";
enable_query_log;
--require r/have_binlog_format_statement.require
--disable_query_log
--replace_result MIXED STATEMENT
show variables like "binlog_format";
--enable_query_log
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
insert delayed into t1 values (207);
insert delayed into t1 values (null);
insert delayed into t1 values (300);
select * from t1;
a
207
208
300
show binlog events from 102;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (207)
master-bin.000001 # Intvar 1 # INSERT_ID=208
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (null)
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (300)
drop table t1;
......@@ -172,8 +172,10 @@ master-bin.000001 # Intvar 1 # INSERT_ID=127
master-bin.000001 # Query 1 # use `test`; insert into t1 values(null)
master-bin.000001 # Query 1 # use `test`; drop table t1
master-bin.000001 # Query 1 # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (207)
master-bin.000001 # Intvar 1 # INSERT_ID=208
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (null)
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (300)
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
drop table t1;
Variable_name Value
binlog_format MIXED
......@@ -5,9 +5,6 @@ reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
SET BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
@@GLOBAL.BINLOG_FORMAT @@SESSION.BINLOG_FORMAT
STATEMENT MIXED
SET GLOBAL BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
@@GLOBAL.BINLOG_FORMAT @@SESSION.BINLOG_FORMAT
......
......@@ -3,7 +3,7 @@
# Taken FROM the select test
#
-- source include/have_archive.inc
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
--disable_warnings
drop table if exists t1,t2,t3;
......
# This test is to verify replication with INSERT DELAY through
# unrecommended STATEMENT binlog format
-- source include/not_embedded.inc
-- source include/have_binlog_format_statement.inc
-- source extra/binlog_tests/binlog_insert_delayed.test
......@@ -13,6 +13,6 @@ drop table t1;
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/not_embedded.inc
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed.inc
-- source extra/binlog_tests/binlog.test
......@@ -2,5 +2,5 @@
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/not_embedded.inc
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/blackhole.test
......@@ -2,5 +2,5 @@
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/not_embedded.inc
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/ctype_cp932.test
# This is a wrapper for binlog.test so that the same test case can be used
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/ctype_ucs_binlog.test
# This is a wrapper for binlog.test so that the same test case can be used
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/drop_temp_table.test
# This is a wrapper for binlog.test so that the same test case can be used
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/innodb_stat.test
# This is a wrapper for binlog.test so that the same test case can be used
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/insert_select-binlog.test
# This is a wrapper for binlog.test so that the same test case can be used
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/mix_innodb_myisam_binlog.test
# This piece below cannot be put into
......
......@@ -6,7 +6,7 @@
# inconsistency between binlog and the internal list of temp tables.
# This does not work for RBR yet.
--source include/have_binlog_format_statement.inc
--source include/have_binlog_format_mixed_or_statement.inc
-- source include/have_innodb.inc
--disable_warnings
......
# This is a wrapper for binlog.test so that the same test case can be used
# For both statement and row based bin logs 11/07/2005 [jbm]
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/binlog_tests/ctype_cp932_binlog.test
#
......
......@@ -6,9 +6,9 @@
drop table if exists t1;
--enable_warnings
--replace_result ROW <format> STATEMENT <format>
--replace_result ROW <format> STATEMENT <format> MIXED <format>
SHOW GLOBAL VARIABLES LIKE "%_format%";
--replace_result ROW <format> STATEMENT <format>
--replace_result ROW <format> STATEMENT <format> MIXED <format>
SHOW SESSION VARIABLES LIKE "%_format%";
#
......@@ -36,7 +36,7 @@ set datetime_format= '%H:%i:%s.%f %m-%d-%Y';
set datetime_format= '%h:%i:%s %p %Y-%m-%d';
set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d';
--replace_result ROW <format> STATEMENT <format>
--replace_result ROW <format> STATEMENT <format> MIXED <format>
SHOW SESSION VARIABLES LIKE "%format";
--error 1231
......
# We are using .opt file since we need small binlog size
# TODO: Need to look at making a row based version once the new row based client is completed. [jbm]
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
# Embedded server doesn't support binlogging
-- source include/not_embedded.inc
......
......@@ -2,7 +2,7 @@
# and a few others.
# TODO: Need to look at making row based version once new binlog client is complete.
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
# Embedded server doesn't support binlogging
-- source include/not_embedded.inc
......
-- source include/have_ndb.inc
-- source include/have_multi_ndb.inc
-- source include/not_embedded.inc
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
--disable_warnings
connection server2;
......
......@@ -7,7 +7,7 @@
# in row-based, it hangs waiting for an offset which is never
# reached (the "sync_with_master 1"), logically.
--source include/have_binlog_format_statement.inc
--source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc;
save_master_pos;
connection slave;
......
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
# You must run this test with --manager.
......
......@@ -2,7 +2,7 @@
# replicated LOAD DATA INFILE correctly when it has binlog_*_db rules.
# This is for BUG#1100 (LOAD DATA INFILE was half-logged).
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
connection slave;
......
# Mixed DDL-DML (CREATE ... SELECT ...) statements can only be
# replicated properly in statement-based replication.
# Currently statement based due to bug 12345
--source include/have_binlog_format_statement.inc
--source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc;
......
-- source include/have_row_based.inc
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
# Test that the slave temporarily switches to ROW when seeing binrow
# events when it is in STATEMENT or MIXED mode
SET BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
SET GLOBAL BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
......
# TBF - difference in row level logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
--disable_warnings
......
......@@ -13,7 +13,7 @@
# - Test creating a duplicate key error and recover from it
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
--disable_warnings
......
......@@ -3,6 +3,6 @@
# Date: 2006-01-11
# Purpose: Engine Wrapper for rpl_stm_EE_err2.test
##############################
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_stm_EE_err2.test
# depends on the binlog output
--source include/have_binlog_format_statement.inc
--source include/have_binlog_format_mixed_or_statement.inc
let $rename_event_pos= 652;
-- source extra/rpl_tests/rpl_flsh_tbls.test
......
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_log.test
......
......@@ -4,7 +4,7 @@
# Test of manual relay log rotation with FLUSH LOGS.
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/rpl_tests/rpl_max_relay_size.test
# End of 4.1 tests
......
......@@ -4,7 +4,7 @@
# one binlog event containing all queries)
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/rpl_tests/rpl_multi_query.test
......
......@@ -15,7 +15,7 @@
#should proceed in a correct way.
#################################
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
# first, cause a duplicate key problem on the slave
......
......@@ -4,7 +4,7 @@
# case. So this test is meaningul only in statement-based (and if it was
# enabled in row-based, it would fail as expected).
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc;
......
# TBF - difference in row level logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/rpl_tests/rpl_reset_slave.test
# End of 4.1 tests
......
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
# Test is dependent on binlog positions
......
# drop table t1 t2 t3 are included int master-slave.inc
# meaningful only in statement-based:
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
......
......@@ -2,7 +2,7 @@
# Test of triggers with replication
# Adding statement include due to Bug 12574
# TODO: Remove statement include once 12574 is patched
--source include/have_binlog_format_statement.inc
--source include/have_binlog_format_mixed_or_statement.inc
--source include/master-slave.inc
--disable_warnings
......
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc;
......
# Requires statement logging
-- source include/have_binlog_format_statement.inc
-- source include/have_binlog_format_mixed_or_statement.inc
# TODO: Create row based version once $MYSQL_BINLOG has new RB version
# Embedded server does not support binlogging
--source include/not_embedded.inc
......
......@@ -3135,7 +3135,11 @@ with --log-bin instead.");
global_system_variables.binlog_format= BINLOG_FORMAT_ROW;
else
#endif
#if defined(HAVE_ROW_BASED_REPLICATION)
global_system_variables.binlog_format= BINLOG_FORMAT_MIXED;
#else
global_system_variables.binlog_format= BINLOG_FORMAT_STMT;
#endif
}
/* Check that we have not let the format to unspecified at this point */
......@@ -4936,7 +4940,13 @@ Disable with --skip-bdb (will save memory).",
"supports only statement-based binary logging, so only 'statement' is "
"a legal value."
#endif
, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
, 0, 0, 0, GET_STR, REQUIRED_ARG,
#ifdef HAVE_ROW_BASED_REPLICATION
BINLOG_FORMAT_MIXED
#else
BINLOG_FORMAT_STMT
#endif
, 0, 0, 0, 0, 0 },
{"binlog-do-db", OPT_BINLOG_DO_DB,
"Tells the master it should log updates for the specified database, and exclude all others not explicitly mentioned.",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment