mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-5377 Row-based replication of MariaDB temporal data types with FSP>0 into a different column type
This commit is contained in:
21
mysql-test/suite/rpl/r/rpl_mysql57_stm_temporal_round.result
Normal file
21
mysql-test/suite/rpl/r/rpl_mysql57_stm_temporal_round.result
Normal file
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# MDEV-8894 Inserting fractional seconds into MySQL 5.6 master breaks consistency on MariaDB 10 slave
|
||||
#
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
connection slave;
|
||||
include/stop_slave.inc
|
||||
connection master;
|
||||
include/rpl_stop_server.inc [server_number=1]
|
||||
include/rpl_start_server.inc [server_number=1]
|
||||
connection slave;
|
||||
CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
|
||||
include/start_slave.inc
|
||||
connection master;
|
||||
connection slave;
|
||||
SELECT * FROM t1 ORDER BY id;
|
||||
id a
|
||||
1 2001-01-01 00:00:01.000
|
||||
include/stop_slave.inc
|
||||
DROP TABLE t1;
|
||||
include/rpl_end.inc
|
22
mysql-test/suite/rpl/r/rpl_mysql80_stm_temporal_round.result
Normal file
22
mysql-test/suite/rpl/r/rpl_mysql80_stm_temporal_round.result
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# MDEV-8894 Inserting fractional seconds into MySQL 5.6 master breaks consistency on MariaDB 10 slave
|
||||
#
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
connection slave;
|
||||
include/stop_slave.inc
|
||||
connection master;
|
||||
include/rpl_stop_server.inc [server_number=1]
|
||||
include/rpl_start_server.inc [server_number=1]
|
||||
connection slave;
|
||||
CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
|
||||
include/start_slave.inc
|
||||
connection master;
|
||||
connection slave;
|
||||
SELECT * FROM t1 ORDER BY id;
|
||||
id a
|
||||
1 2001-01-01 00:00:01.000
|
||||
2 2001-01-01 00:00:00.999
|
||||
include/stop_slave.inc
|
||||
DROP TABLE t1;
|
||||
include/rpl_end.inc
|
50
mysql-test/suite/rpl/t/rpl_mysql57_stm_temporal_round.test
Normal file
50
mysql-test/suite/rpl/t/rpl_mysql57_stm_temporal_round.test
Normal file
@@ -0,0 +1,50 @@
|
||||
--echo #
|
||||
--echo # MDEV-8894 Inserting fractional seconds into MySQL 5.6 master breaks consistency on MariaDB 10 slave
|
||||
--echo #
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
--connection slave
|
||||
--source include/stop_slave.inc
|
||||
|
||||
--connection master
|
||||
--let $datadir= `SELECT @@datadir`
|
||||
|
||||
--let $rpl_server_number= 1
|
||||
--source include/rpl_stop_server.inc
|
||||
|
||||
--remove_file $datadir/master-bin.000001
|
||||
|
||||
#
|
||||
# Simulate MySQL 5.7.x master
|
||||
#
|
||||
# mysql-5.7.11-stm-temporal-round-binlog.000001 was recorded with
|
||||
# "mysqld --log-bin --binlog-format=statement", with the following SQL script:
|
||||
#
|
||||
#CREATE TABLE t1 (id SERIAL, a DATETIME(3));
|
||||
#INSERT INTO t1 (a) VALUES ('2001-01-01 00:00:00.999999');
|
||||
#
|
||||
|
||||
--copy_file $MYSQL_TEST_DIR/std_data/rpl/mysql-5.7.11-stm-temporal-round-binlog.000001 $datadir/master-bin.000001
|
||||
|
||||
--let $rpl_server_number= 1
|
||||
--source include/rpl_start_server.inc
|
||||
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
--connection slave
|
||||
--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
|
||||
eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
|
||||
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection master
|
||||
--sync_slave_with_master
|
||||
SELECT * FROM t1 ORDER BY id;
|
||||
|
||||
--source include/stop_slave.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
--let $rpl_only_running_threads= 1
|
||||
--source include/rpl_end.inc
|
54
mysql-test/suite/rpl/t/rpl_mysql80_stm_temporal_round.test
Normal file
54
mysql-test/suite/rpl/t/rpl_mysql80_stm_temporal_round.test
Normal file
@@ -0,0 +1,54 @@
|
||||
--echo #
|
||||
--echo # MDEV-8894 Inserting fractional seconds into MySQL 5.6 master breaks consistency on MariaDB 10 slave
|
||||
--echo #
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
--connection slave
|
||||
--source include/stop_slave.inc
|
||||
|
||||
--connection master
|
||||
--let $datadir= `SELECT @@datadir`
|
||||
|
||||
--let $rpl_server_number= 1
|
||||
--source include/rpl_stop_server.inc
|
||||
|
||||
--remove_file $datadir/master-bin.000001
|
||||
|
||||
#
|
||||
# Simulate MySQL 8.0.x master
|
||||
#
|
||||
# mysql-8.0.13-stm-temporal-round-binlog.000001 was recorded with
|
||||
# "mysqld --log-bin --binlog-format=statement", with the following SQL script:
|
||||
#
|
||||
#SET NAMES utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
#SET sql_mode='';
|
||||
#CREATE TABLE t1 (id SERIAL, a DATETIME(3));
|
||||
#INSERT INTO t1 (a) VALUES ('2001-01-01 00:00:00.999999');
|
||||
#SET sql_mode=TIME_TRUNCATE_FRACTIONAL;
|
||||
#INSERT INTO t1 (a) VALUES ('2001-01-01 00:00:00.999999');
|
||||
#
|
||||
|
||||
--copy_file $MYSQL_TEST_DIR/std_data/rpl/mysql-8.0.13-stm-temporal-round-binlog.000001 $datadir/master-bin.000001
|
||||
|
||||
--let $rpl_server_number= 1
|
||||
--source include/rpl_start_server.inc
|
||||
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
--connection slave
|
||||
--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
|
||||
eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
|
||||
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection master
|
||||
--sync_slave_with_master
|
||||
SELECT * FROM t1 ORDER BY id;
|
||||
|
||||
--source include/stop_slave.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
--let $rpl_only_running_threads= 1
|
||||
--source include/rpl_end.inc
|
Reference in New Issue
Block a user