WL#5815: Refactor Field::compatible_field_size
Affects: Server-Prototype Only — Status: Un-Assigned — Priority: Medium
This is a step towards making replication a library, such that the 5.6 rpl- lib can be plugged into the 5.5 core [WL#5675]. In this worklog, we refactor Field_bit::compatible_field_size in field.cc. It is currently a core function, but it uses information that is internal to rpl-lib. The prototype is currently: Field::compatible_field_size(uint field_metadata, Relay_log_info *rli_arg, uint16 mflags, int *order_var) Both rli_arg and mflags are internal to rpl-lib and should not be part of this interface. Both rli_arg and mflags are used to check if the functionality needs to be bug-compatible with an old master server. Hence, after WL#5805, we can use the rpl-lib function Slave::get_master_version and the core function server_has_bug and do not need to pass these arguments around. The new prototype should be: Field::compatible_field_size(int field_metadata, int *order_var)
Copyright (c) 2000, 2019, Oracle Corporation and/or its affiliates. All rights reserved.