Commit 930e542f authored by unknown's avatar unknown

Changes made according to HLD/LLD.

   The following is an excerption from the WL.
      
   1. Change so that MIXED is default format
      1.1 to change the default for command line --binlog-format
      1.2 to alter global_system_variables.binlog_format calculation
          basing on command line --binlog-format parameter and 
          its default.
   2. Change test suite so that more testing is done by MIXED format.
      2.1 to check if there are test cases requiring --binlog-foramt=statement via
          `source include/have_binlog_format_statement.inc' and affected by 
          altering the latter to be "mixed".
      2.2 to check the content of such vulnerable cases to find if
          extending to the mixed does not modify results. In that case simply
          substitute source arguments as explained.
      2.3 if a test in mixed mode deals with features triggering
          row-binlogging then if necessary we can switch explicitly
          to statement mode or create another test to run with 
          non-recommended STATEMENT mode
   
          Particullarily, extracting INSERT DELAYED 
          binlogging subtest for statement mode is performed, and 
          the snippet is moved into a separate test file.
          Note that since now all three modes verify this use case
          through 3 different tests.
   
   No changes in item 3 of HLD appeared to be needed.


mysql-test/extra/binlog_tests/binlog.test:
  Moving INSERT DELAYED verification section into separate file. The latter is sourced
  from two different files: the current one and a newly created for STATEMENT
  mode check.
mysql-test/extra/rpl_tests/rpl_loaddata.test:
  require mixed_or_statement
mysql-test/extra/rpl_tests/rpl_stm_000001.test:
  require mixed_or_statement
mysql-test/extra/rpl_tests/rpl_stm_charset.test:
  require mixed_or_statement
mysql-test/r/binlog_stm_binlog.result:
  new result to correspond to MIXED mode.
mysql-test/r/rpl_rbr_to_sbr.result:
  result changed
mysql-test/t/archive.test:
  require mixed_or_statement
mysql-test/t/binlog_stm_binlog.test:
  require exclusive mixed format because of INSERT DELAYED.
mysql-test/t/binlog_stm_blackhole.test:
  require mixed_or_statement
mysql-test/t/binlog_stm_ctype_cp932.test:
  require mixed_or_statement
mysql-test/t/binlog_stm_ctype_ucs.test:
  require mixed_or_statement
mysql-test/t/binlog_stm_drop_tmp_tbl.test:
  require mixed_or_statement
mysql-test/t/binlog_stm_innodb_stat.test:
  require mixed_or_statement
mysql-test/t/binlog_stm_insert_select.test:
  require mixed_or_statement
mysql-test/t/binlog_stm_mix_innodb_myisam.test:
  require mixed_or_statement
mysql-test/t/create_select_tmp.test:
  require mixed_or_statement
mysql-test/t/ctype_cp932_binlog_stm.test:
  require mixed_or_statement
mysql-test/t/date_formats.test:
  MIXED case appended to the replace instruction
mysql-test/t/mysqlbinlog.test:
  require mixed_or_statement
mysql-test/t/mysqlbinlog2.test:
  require mixed_or_statement
mysql-test/t/ndb_multi.test:
  require mixed_or_statement
mysql-test/t/rpl000013.test:
  require mixed_or_statement
mysql-test/t/rpl_heap.test:
  require mixed_or_statement
mysql-test/t/rpl_loaddata_s.test:
  require mixed_or_statement
mysql-test/t/rpl_mixed_ddl_dml.test:
  require mixed_or_statement
mysql-test/t/rpl_rbr_to_sbr.test:
  Rather meaningless line is discarded.
  The test does not loose anything without it and without considering the WL.
mysql-test/t/rpl_rewrt_db.test:
  require mixed_or_statement
mysql-test/t/rpl_rotate_logs.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_EE_err2.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_flsh_tbls.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_log.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_max_relay_size.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_multi_query.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_mystery22.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_no_op.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_reset_slave.test:
  require mixed_or_statement
mysql-test/t/rpl_stm_until.test:
  require mixed_or_statement
mysql-test/t/rpl_temp_table.test:
  require mixed_or_statement
mysql-test/t/rpl_trigger.test:
  require mixed_or_statement
mysql-test/t/rpl_trunc_temp.test:
  require mixed_or_statement
mysql-test/t/user_var-binlog.test:
  require mixed_or_statement
sql/mysqld.cc:
  Implementation of making BINLOG_FORMAT_MIXED to be the default of
  global_system_variables.binlog_format. Not in the case of embedded.
mysql-test/extra/binlog_tests/binlog_insert_delayed.test:
  Snippend sourced from two tests to verify INSERT DELAYED in all three binlog formats.
mysql-test/include/have_binlog_format_mixed.inc:
  Part of exclusive MIXED format requirement
mysql-test/include/have_binlog_format_mixed_or_statement.inc:
  requirement to have mixed or statement. Most of the tests with STATEMENT format indeed
  are tolerant to MIXED format to yield the same result files. There are few exception
  because of features triggering RBR events when MIXED format.
mysql-test/r/binlog_statement_insert_delayed.result:
  BitKeeper file /home/elkin/MySQL/TEAM/FIXES/5.1/wl3368_mixed_default/mysql-test/r/binlog_statement_insert_delayed.result
mysql-test/r/have_binlog_format_mixed.require:
  Exclusive MIXED format
mysql-test/t/binlog_statement_insert_delayed.test:
  BitKeeper file /home/elkin/MySQL/TEAM/FIXES/5.1/wl3368_mixed_default/mysql-test/t/binlog_statement_insert_delayed.test
parent 92bbbaa4
...@@ -60,24 +60,4 @@ insert into t1 values(null); ...@@ -60,24 +60,4 @@ insert into t1 values(null);
select * from t1; select * from t1;
drop table t1; drop table t1;
# Test of binlogging of INSERT_ID with INSERT DELAYED -- source extra/binlog_tests/binlog_insert_delayed.test
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;
# 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 # 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" # See if replication of a "LOAD DATA in an autoincrement column"
# Honours autoincrement values # Honours autoincrement values
......
-- source include/have_binlog_format_statement.inc -- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc -- source include/master-slave.inc
create table t1 (word char(20) not null); create table t1 (word char(20) not null);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# This test will fail if the server/client does not support enough charsets. # This test will fail if the server/client does not support enough charsets.
# Requires statement logging # Requires statement logging
-- source include/have_binlog_format_statement.inc -- source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc; source include/master-slave.inc;
--disable_warnings --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 ...@@ -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`; insert into t1 values(null)
master-bin.000001 # Query 1 # use `test`; drop table t1 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`; 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 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Intvar 1 # INSERT_ID=208 master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (null) master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Query 1 # use `test`; insert delayed into t1 values (300) 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; drop table t1;
Variable_name Value
binlog_format MIXED
...@@ -5,9 +5,6 @@ reset slave; ...@@ -5,9 +5,6 @@ reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave; start slave;
SET BINLOG_FORMAT=MIXED; SET BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
@@GLOBAL.BINLOG_FORMAT @@SESSION.BINLOG_FORMAT
STATEMENT MIXED
SET GLOBAL BINLOG_FORMAT=MIXED; SET GLOBAL BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT; SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
@@GLOBAL.BINLOG_FORMAT @@SESSION.BINLOG_FORMAT @@GLOBAL.BINLOG_FORMAT @@SESSION.BINLOG_FORMAT
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# Taken FROM the select test # Taken FROM the select test
# #
-- source include/have_archive.inc -- source include/have_archive.inc
-- source include/have_binlog_format_statement.inc -- source include/have_binlog_format_mixed_or_statement.inc
--disable_warnings --disable_warnings
drop table if exists t1,t2,t3; 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; ...@@ -13,6 +13,6 @@ drop table t1;
# For both statement and row based bin logs 9/19/2005 [jbm] # For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/not_embedded.inc -- 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 -- source extra/binlog_tests/binlog.test
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
# For both statement and row based bin logs 9/19/2005 [jbm] # For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/not_embedded.inc -- 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 -- source extra/binlog_tests/blackhole.test
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
# For both statement and row based bin logs 9/19/2005 [jbm] # For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/not_embedded.inc -- 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 -- source extra/binlog_tests/ctype_cp932.test
# This is a wrapper for binlog.test so that the same test case can be used # 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] # 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 -- source extra/binlog_tests/ctype_ucs_binlog.test
# This is a wrapper for binlog.test so that the same test case can be used # 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] # 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 -- source extra/binlog_tests/drop_temp_table.test
# This is a wrapper for binlog.test so that the same test case can be used # 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] # 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 -- source extra/binlog_tests/innodb_stat.test
# This is a wrapper for binlog.test so that the same test case can be used # 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] # 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 -- source extra/binlog_tests/insert_select-binlog.test
# This is a wrapper for binlog.test so that the same test case can be used # 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] # 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 -- source extra/binlog_tests/mix_innodb_myisam_binlog.test
# This piece below cannot be put into # This piece below cannot be put into
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# inconsistency between binlog and the internal list of temp tables. # inconsistency between binlog and the internal list of temp tables.
# This does not work for RBR yet. # 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 -- source include/have_innodb.inc
--disable_warnings --disable_warnings
......
# This is a wrapper for binlog.test so that the same test case can be used # 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] # 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 -- source extra/binlog_tests/ctype_cp932_binlog.test
# #
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
drop table if exists t1; drop table if exists t1;
--enable_warnings --enable_warnings
--replace_result ROW <format> STATEMENT <format> --replace_result ROW <format> STATEMENT <format> MIXED <format>
SHOW GLOBAL VARIABLES LIKE "%_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%"; SHOW SESSION VARIABLES LIKE "%_format%";
# #
...@@ -36,7 +36,7 @@ set datetime_format= '%H:%i:%s.%f %m-%d-%Y'; ...@@ -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 %p %Y-%m-%d';
set datetime_format= '%h:%i:%s.%f %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"; SHOW SESSION VARIABLES LIKE "%format";
--error 1231 --error 1231
......
# We are using .opt file since we need small binlog size # 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] # 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 # Embedded server doesn't support binlogging
-- source include/not_embedded.inc -- source include/not_embedded.inc
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# and a few others. # and a few others.
# TODO: Need to look at making row based version once new binlog client is complete. # 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 # Embedded server doesn't support binlogging
-- source include/not_embedded.inc -- source include/not_embedded.inc
......
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_multi_ndb.inc -- source include/have_multi_ndb.inc
-- source include/not_embedded.inc -- source include/not_embedded.inc
-- source include/have_binlog_format_statement.inc -- source include/have_binlog_format_mixed_or_statement.inc
--disable_warnings --disable_warnings
connection server2; connection server2;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
# in row-based, it hangs waiting for an offset which is never # in row-based, it hangs waiting for an offset which is never
# reached (the "sync_with_master 1"), logically. # 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; source include/master-slave.inc;
save_master_pos; save_master_pos;
connection slave; connection slave;
......
# Requires statement logging # 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. # You must run this test with --manager.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# replicated LOAD DATA INFILE correctly when it has binlog_*_db rules. # replicated LOAD DATA INFILE correctly when it has binlog_*_db rules.
# This is for BUG#1100 (LOAD DATA INFILE was half-logged). # 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 -- source include/master-slave.inc
connection slave; connection slave;
......
# Mixed DDL-DML (CREATE ... SELECT ...) statements can only be # Mixed DDL-DML (CREATE ... SELECT ...) statements can only be
# replicated properly in statement-based replication. # replicated properly in statement-based replication.
# Currently statement based due to bug 12345 # 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/master-slave.inc;
......
-- source include/have_row_based.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 -- source include/master-slave.inc
# Test that the slave temporarily switches to ROW when seeing binrow # Test that the slave temporarily switches to ROW when seeing binrow
# events when it is in STATEMENT or MIXED mode # events when it is in STATEMENT or MIXED mode
SET BINLOG_FORMAT=MIXED; SET BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
SET GLOBAL BINLOG_FORMAT=MIXED; SET GLOBAL BINLOG_FORMAT=MIXED;
SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT; SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
......
# TBF - difference in row level logging # 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 -- source include/master-slave.inc
--disable_warnings --disable_warnings
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
# - Test creating a duplicate key error and recover from it # - Test creating a duplicate key error and recover from it
# Requires statement logging # 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); connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
--disable_warnings --disable_warnings
......
...@@ -3,6 +3,6 @@ ...@@ -3,6 +3,6 @@
# Date: 2006-01-11 # Date: 2006-01-11
# Purpose: Engine Wrapper for rpl_stm_EE_err2.test # 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; let $engine_type=myisam;
-- source extra/rpl_tests/rpl_stm_EE_err2.test -- source extra/rpl_tests/rpl_stm_EE_err2.test
# depends on the binlog output # 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; let $rename_event_pos= 652;
-- source extra/rpl_tests/rpl_flsh_tbls.test -- source extra/rpl_tests/rpl_flsh_tbls.test
......
# Requires statement logging # Requires statement logging
-- source include/have_binlog_format_statement.inc -- source include/have_binlog_format_mixed_or_statement.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_log.test -- source extra/rpl_tests/rpl_log.test
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# Test of manual relay log rotation with FLUSH LOGS. # Test of manual relay log rotation with FLUSH LOGS.
# Requires statement logging # 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 -- source extra/rpl_tests/rpl_max_relay_size.test
# End of 4.1 tests # End of 4.1 tests
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# one binlog event containing all queries) # one binlog event containing all queries)
# Requires statement logging # 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 -- source extra/rpl_tests/rpl_multi_query.test
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#should proceed in a correct way. #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 -- source include/master-slave.inc
# first, cause a duplicate key problem on the slave # first, cause a duplicate key problem on the slave
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# case. So this test is meaningul only in statement-based (and if it was # case. So this test is meaningul only in statement-based (and if it was
# enabled in row-based, it would fail as expected). # 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; source include/master-slave.inc;
......
# TBF - difference in row level logging # 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 -- source extra/rpl_tests/rpl_reset_slave.test
# End of 4.1 tests # 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 -- source include/master-slave.inc
# Test is dependent on binlog positions # Test is dependent on binlog positions
......
# drop table t1 t2 t3 are included int master-slave.inc # drop table t1 t2 t3 are included int master-slave.inc
# meaningful only in statement-based: # 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 -- source include/master-slave.inc
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Test of triggers with replication # Test of triggers with replication
# Adding statement include due to Bug 12574 # Adding statement include due to Bug 12574
# TODO: Remove statement include once 12574 is patched # 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 --source include/master-slave.inc
--disable_warnings --disable_warnings
......
# Requires statement logging # Requires statement logging
-- source include/have_binlog_format_statement.inc -- source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc; source include/master-slave.inc;
......
# Requires statement logging # 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 # TODO: Create row based version once $MYSQL_BINLOG has new RB version
# Embedded server does not support binlogging # Embedded server does not support binlogging
--source include/not_embedded.inc --source include/not_embedded.inc
......
...@@ -3135,7 +3135,11 @@ with --log-bin instead."); ...@@ -3135,7 +3135,11 @@ with --log-bin instead.");
global_system_variables.binlog_format= BINLOG_FORMAT_ROW; global_system_variables.binlog_format= BINLOG_FORMAT_ROW;
else else
#endif #endif
#if defined(HAVE_ROW_BASED_REPLICATION)
global_system_variables.binlog_format= BINLOG_FORMAT_MIXED;
#else
global_system_variables.binlog_format= BINLOG_FORMAT_STMT; global_system_variables.binlog_format= BINLOG_FORMAT_STMT;
#endif
} }
/* Check that we have not let the format to unspecified at this point */ /* Check that we have not let the format to unspecified at this point */
...@@ -4936,7 +4940,13 @@ Disable with --skip-bdb (will save memory).", ...@@ -4936,7 +4940,13 @@ Disable with --skip-bdb (will save memory).",
"supports only statement-based binary logging, so only 'statement' is " "supports only statement-based binary logging, so only 'statement' is "
"a legal value." "a legal value."
#endif #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, {"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.", "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}, 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