diff options
author | Alexander Barkov <bar@mariadb.com> | 2019-10-18 13:09:37 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2019-10-18 13:15:55 +0400 |
commit | ec171a94a30fb51d8aee7428c9532713ee0ce63a (patch) | |
tree | df589ee83becd8ffda2d0dd7ea5a795a8c635580 /libmysqld | |
parent | 9a833dc6881b896e65cf76c9699faa6c324e1775 (diff) | |
download | mariadb-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.txt | 1 |
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 |