1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-17098 DATE -> DATETIME replication conversion not working, even in ALL_NON_LOSSY mode

Opened up MYSQL_TYPE _DATETIME{,2} <-> _NEWDATE conversions for replication.
This commit is contained in:
Andrei Elkin
2018-10-03 21:45:05 +03:00
parent 2d4075e1d9
commit 2308b9afec
5 changed files with 219 additions and 2 deletions

View File

@ -43,6 +43,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
#
# End of MDEV-15833
#
# MDEV-17098 DATE <-> DATETIME
#
# End of MDEV-17098
include/rpl_reset.inc
connection slave;
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
@ -51,6 +55,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
#
# End of MDEV-15833
#
# MDEV-17098 DATE <-> DATETIME
#
# End of MDEV-17098
include/rpl_reset.inc
connection slave;
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
@ -59,6 +67,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
#
# End of MDEV-15833
#
# MDEV-17098 DATE <-> DATETIME
#
# End of MDEV-17098
include/rpl_reset.inc
connection slave;
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
@ -67,6 +79,10 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
# MDEV-15833 Row format replication between LONGBLOB and MEDIUMBLOB does not work for long values
#
# End of MDEV-15833
#
# MDEV-17098 DATE <-> DATETIME
#
# End of MDEV-17098
include/rpl_reset.inc
connection slave;
**** Result of conversions ****
@ -208,6 +224,13 @@ LONGBLOB TINYBLOB <Correct error>
LONGBLOB BLOB <Correct error>
LONGBLOB MEDIUMBLOB <Correct error>
LONGBLOB VARBINARY(65500 <Correct error>
DATE DATETIME(6) <Correct error>
DATE DATETIME(6) <Correct error>
DATE DATETIME(6) <Correct error>
DATE DATETIME(0) <Correct error>
DATETIME(6) DATE <Correct error>
DATETIME(6) DATE <Correct error>
DATETIME(0) DATE <Correct error>
TINYBLOB TINYBLOB ALL_NON_LOSSY <Correct value>
TINYBLOB BLOB ALL_NON_LOSSY <Correct value>
TINYBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct value>
@ -345,6 +368,13 @@ LONGBLOB TINYBLOB ALL_NON_LOSSY <Correct error>
LONGBLOB BLOB ALL_NON_LOSSY <Correct error>
LONGBLOB MEDIUMBLOB ALL_NON_LOSSY <Correct error>
LONGBLOB VARBINARY(65500 ALL_NON_LOSSY <Correct error>
DATE DATETIME(6) ALL_NON_LOSSY <Correct value>
DATE DATETIME(6) ALL_NON_LOSSY <Correct value>
DATE DATETIME(6) ALL_NON_LOSSY <Correct value>
DATE DATETIME(0) ALL_NON_LOSSY <Correct value>
DATETIME(6) DATE ALL_NON_LOSSY <Correct error>
DATETIME(6) DATE ALL_NON_LOSSY <Correct error>
DATETIME(0) DATE ALL_NON_LOSSY <Correct error>
TINYBLOB TINYBLOB ALL_LOSSY <Correct value>
TINYBLOB BLOB ALL_LOSSY <Correct error>
TINYBLOB MEDIUMBLOB ALL_LOSSY <Correct error>
@ -482,6 +512,13 @@ LONGBLOB TINYBLOB ALL_LOSSY <Correct value>
LONGBLOB BLOB ALL_LOSSY <Correct value>
LONGBLOB MEDIUMBLOB ALL_LOSSY <Correct value>
LONGBLOB VARBINARY(65500 ALL_LOSSY <Correct value>
DATE DATETIME(6) ALL_LOSSY <Correct error>
DATE DATETIME(6) ALL_LOSSY <Correct error>
DATE DATETIME(6) ALL_LOSSY <Correct error>
DATE DATETIME(0) ALL_LOSSY <Correct error>
DATETIME(6) DATE ALL_LOSSY <Correct value>
DATETIME(6) DATE ALL_LOSSY <Correct value>
DATETIME(0) DATE ALL_LOSSY <Correct value>
TINYBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
TINYBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
TINYBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
@ -619,6 +656,13 @@ LONGBLOB TINYBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
LONGBLOB BLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
LONGBLOB MEDIUMBLOB ALL_LOSSY,ALL_NON_LOSSY <Correct value>
LONGBLOB VARBINARY(65500 ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DATE DATETIME(6) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DATE DATETIME(6) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DATE DATETIME(6) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DATE DATETIME(0) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DATETIME(6) DATE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DATETIME(6) DATE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DATETIME(0) DATE ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DROP TABLE type_conversions;
call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* error.* 1677");
connection master;