mirror of
https://github.com/MariaDB/server.git
synced 2025-10-24 07:13:33 +03:00
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.
47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
# 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_mixed_or_statement.inc
|
|
|
|
source include/master-slave.inc;
|
|
|
|
# Test replication of auto_increment
|
|
|
|
create table t1 (n int auto_increment primary key);
|
|
set insert_id = 2000;
|
|
insert into t1 values (NULL),(NULL),(NULL);
|
|
sync_slave_with_master;
|
|
select * from t1;
|
|
connection master;
|
|
--replace_result $SLAVE_MYPORT 9999
|
|
show slave hosts;
|
|
drop table t1;
|
|
sync_slave_with_master;
|
|
stop slave;
|
|
connection master;
|
|
|
|
# Test replication of timestamp
|
|
|
|
create table t2(id int auto_increment primary key, created datetime);
|
|
set timestamp=12345;
|
|
insert into t2 set created=now();
|
|
select * from t2;
|
|
|
|
# Test replication of CREATE .. LIKE (Bug #2557)
|
|
|
|
create table t3 like t2;
|
|
create temporary table t4 like t2;
|
|
create table t5 select * from t4;
|
|
save_master_pos;
|
|
connection slave;
|
|
start slave;
|
|
sync_with_master;
|
|
select * from t2;
|
|
show create table t3;
|
|
show create table t5;
|
|
connection master;
|
|
drop table t2,t3,t5;
|
|
sync_slave_with_master;
|
|
|
|
# End of 4.1 tests
|