24#ifndef COMPATIBILITY_MODULE_INCLUDED
25#define COMPATIBILITY_MODULE_INCLUDED
86 const std::set<Member_version> &all_members_versions);
112 unsigned int to_max);
125 const std::set<Member_version> &all_members_versions);
136 const std::set<Member_version> &all_members_versions);
157 std::multimap<unsigned int, std::pair<unsigned int, unsigned int>>
Definition: compatibility_module.h:41
virtual ~Compatibility_module()
Definition: compatibility_module.cc:176
Compatibility_type check_incompatibility(Member_version &from, Member_version &to, bool do_version_check, const std::set< Member_version > &all_members_versions)
Checks if the given version is incompatible with another version.
Definition: compatibility_module.cc:93
static Compatibility_type check_version_incompatibility(Member_version from, Member_version to)
Checks if the given version is incompatible with another version.
Definition: compatibility_module.cc:169
std::multimap< unsigned int, std::pair< unsigned int, unsigned int > > incompatibilities
Definition: compatibility_module.h:158
Member_version & get_local_version()
Returns this member version.
Definition: compatibility_module.cc:36
void set_local_version(Member_version &local_version)
Set the module local version.
Definition: compatibility_module.cc:40
Member_version * local_version
Definition: compatibility_module.h:152
Compatibility_type check_local_incompatibility(Member_version &to, bool is_lowest_version, const std::set< Member_version > &all_members_versions)
Checks if the given version is compatible with this member local version.
Definition: compatibility_module.cc:60
static bool are_all_versions_8_0_lts(const std::set< Member_version > &all_members_versions)
Checks if the provided versions are 8.0.35 or a higher 8.0 patch version.
Definition: compatibility_module.cc:137
Compatibility_module()
Definition: compatibility_module.cc:30
void add_incompatibility(Member_version &from, Member_version &to)
Add a incompatibility between the given members.
Definition: compatibility_module.cc:45
bool check_version_range_incompatibility(Member_version &from, unsigned int to_min, unsigned int to_max)
Checks if the given version is incompatible with another version.
Definition: compatibility_module.cc:67
static bool is_version_8_0_lts(const Member_version &version)
Checks if the version is 8.0.35 or a higher 8.0 patch version.
Definition: compatibility_module.cc:152
represent the MySQL version of a Member within the Group Replication group.
Definition: member_version.h:35
st_compatibility_types
Definition: compatibility_module.h:33
@ INCOMPATIBLE_LOWER_VERSION
Definition: compatibility_module.h:35
@ INCOMPATIBLE
Definition: compatibility_module.h:34
@ READ_COMPATIBLE
Definition: compatibility_module.h:38
@ COMPATIBLE
Definition: compatibility_module.h:37
enum st_compatibility_types Compatibility_type
required uint64 version
Definition: replication_group_member_actions.proto:41