WL#5815: Refactor Field::compatible_field_size
Affects: Server-Prototype Only
—
Status: Un-Assigned
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, 2025, Oracle Corporation and/or its affiliates. All rights reserved.