summaryrefslogtreecommitdiff
path: root/libmysqld
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2019-10-18 13:09:37 +0400
committerAlexander Barkov <bar@mariadb.com>2019-10-18 13:15:55 +0400
commitec171a94a30fb51d8aee7428c9532713ee0ce63a (patch)
treedf589ee83becd8ffda2d0dd7ea5a795a8c635580 /libmysqld
parent9a833dc6881b896e65cf76c9699faa6c324e1775 (diff)
downloadmariadb-git-ec171a94a30fb51d8aee7428c9532713ee0ce63a.tar.gz
MDEV-20844 RBR from binary(16) to inet6 fails with error 171: The event was corrupt, leading to illegal data being read
This patch changes the way how INET6 is packed to the RBR binary log: - from fixed length 16 bytes - to BINARY(16) compatible variable length style with trailing 0x00 byte compression. This is to make INET6 fully compatible with BINARY(16) in RBR binary logs, so RBR replication works in this scenarios: - Old master BINARY(16) -> New slave INET6 - New master INET6 -> Old slave BINARY(16) A new class StringPack was added to share the code between Field_string and Field_inet6.
Diffstat (limited to 'libmysqld')
-rw-r--r--libmysqld/CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt
index c179575f006..d910d354631 100644
--- a/libmysqld/CMakeLists.txt
+++ b/libmysqld/CMakeLists.txt
@@ -114,6 +114,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/compat56.cc
../sql/sql_type.cc ../sql/sql_type.h
../sql/sql_mode.cc
+ ../sql/sql_type_string.cc
../sql/sql_type_json.cc
../sql/sql_type_geom.cc
../sql/table_cache.cc ../sql/mf_iocache_encr.cc