mariadb/mysql-test/t/rpl_rewrt_db.test
unknown 930e542f44 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
2006-08-30 10:22:43 +03:00

84 lines
2.2 KiB
Text

# TBF - difference in row level logging
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
--disable_warnings
drop database if exists mysqltest1;
--enable_warnings
create database mysqltest1;
use mysqltest1;
create table t1 (a int);
insert into t1 values(9);
select * from mysqltest1.t1;
sync_slave_with_master;
show databases like 'mysqltest1'; # should be empty
select * from test.t1;
# cleanup
connection master;
drop table t1;
drop database mysqltest1;
sync_slave_with_master;
#
# BUG#6353:
# Option --replicate-rewrite-db should work together with LOAD DATA INFILE
#
connection slave;
--disable_warnings
drop database if exists rewrite;
--enable_warnings
create database rewrite;
connection master;
use test;
create table t1 (a date, b date, c date not null, d date);
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',';
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
sync_slave_with_master;
connection slave;
select * from rewrite.t1;
connection master;
truncate table t1;
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
sync_slave_with_master;
connection slave;
select * from rewrite.t1;
connection master;
drop table t1;
create table t1 (a text, b text);
load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
sync_slave_with_master;
connection slave;
select concat('|',a,'|'), concat('|',b,'|') from rewrite.t1;
connection master;
drop table t1;
create table t1 (a int, b char(10));
load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
sync_slave_with_master;
connection slave;
select * from rewrite.t1;
connection master;
truncate table t1;
load data infile '../std_data_ln/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
sync_slave_with_master;
connection slave;
# The empty line last comes from the end line field in the file
select * from rewrite.t1;
drop database rewrite;
connection master;
drop table t1;
# End of 4.1 tests