24#ifndef MEMBER_INFO_INCLUDE
25#define MEMBER_INFO_INCLUDE
58#define CNF_ENFORCE_UPDATE_EVERYWHERE_CHECKS_F 0x1
64#define CNF_SINGLE_PRIMARY_MODE_F 0x2
71#define DEFAULT_NOT_RECEIVED_LOWER_CASE_TABLE_NAMES 65540
73#define SKIP_ENCODING_LOWER_CASE_TABLE_NAMES 65541
201 void *
operator new(
size_t size,
const std::nothrow_t &)
noexcept {
218 void operator delete(
void *ptr,
const std::nothrow_t &)
noexcept {
231 void *
operator new(
size_t size)
noexcept {
245 void operator delete(
void *ptr)
noexcept {
my_free(ptr); }
286 const std::string &gcs_member_id_arg,
289 ulonglong gtid_assignment_block_size_arg,
291 bool in_single_primary_mode,
293 uint member_weight_arg,
uint lower_case_table_names_arg,
294 bool default_table_encryption_arg,
295 const char *recovery_endpoints_arg,
296 const char *view_change_uuid_arg,
bool allow_single_leader,
351 void update(
const char *hostname_arg,
uint port_arg,
const char *uuid_arg,
353 const std::string &gcs_member_id_arg,
356 ulonglong gtid_assignment_block_size_arg,
358 bool in_single_primary_mode,
360 uint member_weight_arg,
uint lower_case_table_names_arg,
361 bool default_table_encryption_arg,
362 const char *recovery_endpoints_arg,
363 const char *view_change_uuid_arg,
bool allow_single_leader);
454 bool enforce_everywhere_checks);
492 void update_gtid_sets(std::string &executed_gtids, std::string &purged_gtids,
493 std::string &retrieve_gtids);
511 const uint32 configuation_flag);
517 const uint32 configuation_flags);
656 const std::string &group_action_running_name);
671 const std::string &group_action_running_description);
682 const unsigned char *)
override;
734typedef std::vector<Group_member_info *, Malloc_allocator<Group_member_info *>>
891 const std::string &uuid,
919 std::string >id_executed,
920 std::string &purged_gtids,
921 std::string >id_retrieved) = 0;
950 uint member_weight) = 0;
963 bool enforce_everywhere) = 0;
970 virtual void encode(std::vector<uchar> *to_encode) = 0;
1086 void *
operator new(
size_t size,
const std::nothrow_t &)
noexcept {
1103 void operator delete(
void *ptr,
const std::nothrow_t &)
noexcept {
1116 void *
operator new(
size_t size)
noexcept {
1130 void operator delete(
void *ptr)
noexcept {
my_free(ptr); }
1173 std::string &purged_gtids,
1174 std::string >id_retrieved)
override;
1184 uint member_weight)
override;
1190 void encode(std::vector<uchar> *to_encode)
override;
1325 std::vector<unsigned char> *
buffer,
1326 const std::string &member_actions_serialized_configuration)
const;
1345 const unsigned char **pit_data,
size_t *pit_length);
1356 std::vector<unsigned char> *
buffer,
1357 const std::string &replication_failover_channels_serialized_configuration)
1363 const unsigned char *
end)
override;
It represents the identity of a group member within a certain group.
Definition: gcs_member_identifier.h:40
Definition: member_info.h:751
virtual mysql_mutex_t * get_update_lock()=0
This method returns the update lock for consistent read of member state.
virtual bool get_primary_member_info(Group_member_info &member_info_arg)=0
Return the group member info for the current group primary.
virtual void update(Group_member_info_list *new_members)=0
Updates all members of the group.
virtual void update_primary_member_flag(bool in_primary_mode)=0
Changes the primary flag on all members.
virtual bool is_unreachable_member_present()=0
Check if an unreachable member exists.
virtual Group_member_info::Group_member_status get_group_member_status_by_member_id(const Gcs_member_identifier &id)=0
Return the status of the member with the given GCS identifier.
virtual bool is_member_info_present(const std::string &uuid)=0
Is the member present in the group info.
virtual std::string get_string_current_view_active_hosts() const =0
This method returns all ONLINE and RECOVERING members comma separated host and port in string format.
virtual void add(Group_member_info *new_member)=0
Adds a new member to be managed by this Group manager.
virtual bool is_majority_unreachable()=0
Check if majority of the group is unreachable.
virtual void update_member_status(const std::string &uuid, Group_member_info::Group_member_status new_status, Notification_context &ctx)=0
Updates the status of a single member.
virtual size_t get_number_of_members_online()=0
Number of ONLINE members in the group.
virtual void update_gtid_sets(const std::string &uuid, std::string >id_executed, std::string &purged_gtids, std::string >id_retrieved)=0
Updates the GTID sets on a single member.
virtual Group_member_info_list * decode(const uchar *to_decode, size_t length)=0
Decodes the raw format of this object.
virtual bool get_group_member_info_by_index(int idx, Group_member_info &member_info_arg)=0
Retrieves a registered Group member by an index function.
virtual void update_member_weight(const std::string &uuid, uint member_weight)=0
Updates the weight of a single member.
virtual void update(Group_member_info *update_local_member)=0
Removes all members of the group and update new local member.
virtual bool get_primary_member_uuid(std::string &primary_member_uuid)=0
Return the uuid for the for the primary.
virtual void set_member_reachable(const std::string &uuid)=0
Sets the identified member as reachable.
virtual void update_member_role(const std::string &uuid, Group_member_info::Group_member_role new_role, Notification_context &ctx)=0
Updates the role of a single member.
virtual size_t get_number_of_members()=0
Number of members in the group.
virtual Member_version get_group_lowest_online_version()=0
Return lowest member version.
virtual void set_member_unreachable(const std::string &uuid)=0
Sets the identified member as unreachable.
virtual bool get_group_member_info(const std::string &uuid, Group_member_info &member_info_arg)=0
Retrieves a registered Group member by its uuid.
virtual std::list< Gcs_member_identifier > * get_online_members_with_guarantees(const Gcs_member_identifier &exclude_member)=0
Retrieves all ONLINE Group members managed by this site, or NULL if any group member version is from ...
virtual bool is_conflict_detection_enabled()=0
Check if some member of the group has the conflict detection enable.
virtual Group_member_info_list * get_all_members()=0
Retrieves all Group members managed by this site.
virtual void update_enforce_everywhere_checks_flag(bool enforce_everywhere)=0
Set the enforces_update_everywhere_checks flag on all members.
virtual void update_group_primary_roles(const std::string &uuid, Notification_context &ctx)=0
Updates the primary/secondary roles of the group.
virtual ~Group_member_info_manager_interface()=default
virtual void encode(std::vector< uchar > *to_encode)=0
Encodes this object to send via the network.
virtual bool get_group_member_info_by_member_id(const Gcs_member_identifier &id, Group_member_info &member_info_arg)=0
Retrieves a registered Group member by its backbone GCS identifier.
virtual bool is_recovering_member_present()=0
Check if a member in recovery exists in the group.
This is the Group_member_info_manager message.
Definition: member_info.h:1263
Group_member_info_list * members
Definition: member_info.h:1371
void add_member_actions_serialized_configuration(std::vector< unsigned char > *buffer, const std::string &member_actions_serialized_configuration) const
Adds a already serialized member actions configuration to the Group_member_info_manager_message conte...
Definition: member_info.cc:1557
void add_replication_failover_channels_serialized_configuration(std::vector< unsigned char > *buffer, const std::string &replication_failover_channels_serialized_configuration) const
Adds a already serialized replication failover channels configuration to the Group_member_info_manage...
Definition: member_info.cc:1610
void decode_payload(const unsigned char *buffer, const unsigned char *end) override
Decodes the contents of the buffer and sets the payload field values according to the values decoded.
Definition: member_info.cc:1528
void encode_payload(std::vector< unsigned char > *buffer) const override
Encodes the contents of this instance payload into the buffer.
Definition: member_info.cc:1510
enum_payload_item_type
Definition: member_info.h:1265
@ PIT_MAX
Definition: member_info.h:1282
@ PIT_MEMBER_DATA
Definition: member_info.h:1273
@ PIT_RPL_FAILOVER_CONFIGURATION
Definition: member_info.h:1279
@ PIT_MEMBER_ACTIONS
Definition: member_info.h:1276
@ PIT_MEMBERS_NUMBER
Definition: member_info.h:1270
@ PIT_UNKNOWN
Definition: member_info.h:1267
bool get_pit_data(const enum_payload_item_type pit, const unsigned char *buffer, size_t length, const unsigned char **pit_data, size_t *pit_length)
Gets the data that belongs to payload_item_type pit.
Definition: member_info.cc:1569
Group_member_info_manager_message()
Group_member_info_manager_message constructor.
Definition: member_info.cc:1454
~Group_member_info_manager_message() override
Group_member_info_manager_message destructor.
Definition: member_info.cc:1479
Group_member_info_list * get_all_members()
Retrieves all Group members on this message.
Definition: member_info.cc:1494
void clear_members()
Clear members and its allocated memory.
Definition: member_info.cc:1485
Implementation of the interface Group_member_info_manager_interface.
Definition: member_info.h:1065
void add(Group_member_info *new_member) override
Adds a new member to be managed by this Group manager.
Definition: member_info.cc:1113
bool is_majority_unreachable() override
Check if majority of the group is unreachable.
Definition: member_info.cc:1383
Group_member_info::Group_member_status get_group_member_status_by_member_id(const Gcs_member_identifier &id) override
Return the status of the member with the given GCS identifier.
Definition: member_info.cc:1052
std::list< Gcs_member_identifier > * get_online_members_with_guarantees(const Gcs_member_identifier &exclude_member) override
Retrieves all ONLINE Group members managed by this site, or NULL if any group member version is from ...
Definition: member_info.cc:1085
void update_member_weight(const std::string &uuid, uint member_weight) override
Updates the weight of a single member.
Definition: member_info.cc:1255
void update_primary_member_flag(bool in_primary_mode) override
Changes the primary flag on all members.
Definition: member_info.cc:1270
bool is_recovering_member_present() override
Check if a member in recovery exists in the group.
Definition: member_info.cc:1417
void update_gtid_sets(const std::string &uuid, std::string >id_executed, std::string &purged_gtids, std::string >id_retrieved) override
Updates the GTID sets on a single member.
Definition: member_info.cc:1197
bool is_member_info_present(const std::string &uuid) override
Is the member present in the group info.
Definition: member_info.cc:953
void update(Group_member_info *update_local_member) override
Removes all members of the group and update new local member.
Definition: member_info.cc:1121
void update_enforce_everywhere_checks_flag(bool enforce_everywhere) override
Set the enforces_update_everywhere_checks flag on all members.
Definition: member_info.cc:1279
bool get_group_member_info_by_member_id(const Gcs_member_identifier &id, Group_member_info &member_info_arg) override
Retrieves a registered Group member by its backbone GCS identifier.
Definition: member_info.cc:1038
mysql_mutex_t update_lock
Definition: member_info.h:1221
void set_member_unreachable(const std::string &uuid) override
Sets the identified member as unreachable.
Definition: member_info.cc:1178
void clear_members()
Definition: member_info.cc:1289
void encode(std::vector< uchar > *to_encode) override
Encodes this object to send via the network.
Definition: member_info.cc:1318
Group_member_info_list * decode(const uchar *to_decode, size_t length) override
Decodes the raw format of this object.
Definition: member_info.cc:1325
size_t get_number_of_members() override
Number of members in the group.
Definition: member_info.cc:934
bool get_group_member_info(const std::string &uuid, Group_member_info &member_info_arg) override
Retrieves a registered Group member by its uuid.
Definition: member_info.cc:967
Group_member_info_list * get_all_members() override
Retrieves all Group members managed by this site.
Definition: member_info.cc:1067
bool is_conflict_detection_enabled() override
Check if some member of the group has the conflict detection enable.
Definition: member_info.cc:1302
Group_member_info * get_group_member_info_by_member_id_internal(const Gcs_member_identifier &id)
Definition: member_info.cc:1022
void update_member_role(const std::string &uuid, Group_member_info::Group_member_role new_role, Notification_context &ctx) override
Updates the role of a single member.
Definition: member_info.cc:1214
Group_member_info_manager(Group_member_info *local_member_info, PSI_mutex_key psi_mutex_key=key_GR_LOCK_group_member_info_manager_update_lock)
Definition: member_info.cc:914
mysql_mutex_t * get_update_lock() override
This method returns the update lock for consistent read of member state.
Definition: member_info.h:1210
bool get_primary_member_uuid(std::string &primary_member_uuid) override
Return the uuid for the for the primary.
Definition: member_info.cc:1338
std::string get_string_current_view_active_hosts() const override
This method returns all ONLINE and RECOVERING members comma separated host and port in string format.
Definition: member_info.cc:1434
void update_member_status(const std::string &uuid, Group_member_info::Group_member_status new_status, Notification_context &ctx) override
Updates the status of a single member.
Definition: member_info.cc:1157
~Group_member_info_manager() override
Definition: member_info.cc:928
Group_member_info * local_member_info
Definition: member_info.h:1219
size_t get_number_of_members_online() override
Number of ONLINE members in the group.
Definition: member_info.cc:938
Group_member_info_map * members
Definition: member_info.h:1218
void set_member_reachable(const std::string &uuid) override
Sets the identified member as reachable.
Definition: member_info.cc:1188
bool get_group_member_info_by_index(int idx, Group_member_info &member_info_arg) override
Retrieves a registered Group member by an index function.
Definition: member_info.cc:980
Member_version get_group_lowest_online_version() override
Return lowest member version.
Definition: member_info.cc:1001
void update_group_primary_roles(const std::string &uuid, Notification_context &ctx) override
Updates the primary/secondary roles of the group.
Definition: member_info.cc:1234
bool get_primary_member_info(Group_member_info &member_info_arg) override
Return the group member info for the current group primary.
Definition: member_info.cc:1366
bool is_unreachable_member_present() override
Check if an unreachable member exists.
Definition: member_info.cc:1400
Definition: member_info.h:81
void update(const char *hostname_arg, uint port_arg, const char *uuid_arg, int write_set_extraction_algorithm, const std::string &gcs_member_id_arg, Group_member_info::Group_member_status status_arg, Member_version &member_version_arg, ulonglong gtid_assignment_block_size_arg, Group_member_info::Group_member_role role_arg, bool in_single_primary_mode, bool has_enforces_update_everywhere_checks, uint member_weight_arg, uint lower_case_table_names_arg, bool default_table_encryption_arg, const char *recovery_endpoints_arg, const char *view_change_uuid_arg, bool allow_single_leader)
Update Group_member_info.
Definition: member_info.cc:182
static bool comparator_group_member_version(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:848
void set_is_group_action_running(bool is_running)
Sets if the member is currently running a group action.
Definition: member_info.cc:757
uint port
Definition: member_info.h:701
void decode_payload(const unsigned char *buffer, const unsigned char *) override
Decodes the contents of the buffer and sets the payload field values according to the values decoded.
Definition: member_info.cc:386
static std::string get_configuration_flags_string(const uint32 configuation_flags)
Definition: member_info.cc:827
bool unreachable
Definition: member_info.h:711
uint64 gtid_assignment_block_size
Definition: member_info.h:710
std::string get_recovery_endpoints()
List of member advertised recovery endpoints.
Definition: member_info.cc:853
void disable_conflict_detection()
Update this member conflict detection to false.
Definition: member_info.cc:732
uint32 get_configuration_flags()
Definition: member_info.cc:661
std::string recovery_endpoints
Definition: member_info.h:720
bool in_primary_mode()
Definition: member_info.cc:692
void encode_payload(std::vector< unsigned char > *buffer) const override
Encodes the contents of this instance payload into the buffer.
Definition: member_info.cc:276
bool group_action_running
Definition: member_info.h:718
static const char * get_configuration_flag_string(const uint32 configuation_flag)
Definition: member_info.cc:813
static bool comparator_group_member_uuid(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:878
void set_enforces_update_everywhere_checks_flag(bool enforce_everywhere_checks)
Set the enforces_update_everywhere_checks flag.
Definition: member_info.cc:676
ulonglong get_gtid_assignment_block_size()
Definition: member_info.cc:656
void set_is_primary_election_running(bool is_running)
Sets if the member is currently running a primary election.
Definition: member_info.cc:785
bool has_enforces_update_everywhere_checks()
Definition: member_info.cc:697
const std::string & get_group_action_running_description()
Get group action description if running on the member.
Definition: member_info.cc:771
bool m_allow_single_leader
Definition: member_info.h:722
bool get_allow_single_leader()
Definition: member_info.cc:868
uint member_weight
Definition: member_info.h:715
static bool comparator_group_member_weight(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:883
bool conflict_detection_enable
Definition: member_info.h:714
bool is_conflict_detection_enabled()
Return true if conflict detection is enable on this member.
Definition: member_info.cc:737
Group_member_role role
Definition: member_info.h:712
void set_view_change_uuid(const char *view_change_cnf)
Save member view change uuid.
Definition: member_info.cc:873
uint32 configuration_flags
Definition: member_info.h:713
bool primary_election_running
Definition: member_info.h:719
Member_version * member_version
Definition: member_info.h:705
bool has_greater_weight(Group_member_info *other)
Return true if member weight is higher than other member weight.
Definition: member_info.cc:904
uint get_port()
Definition: member_info.cc:566
bool get_default_table_encryption()
Definition: member_info.cc:712
~Group_member_info() override
Destructor.
Definition: member_info.cc:176
std::string purged_gtid_set
Definition: member_info.h:707
uint write_set_extraction_algorithm
Definition: member_info.h:709
std::string uuid
Definition: member_info.h:702
void enable_conflict_detection()
Update this member conflict detection to true.
Definition: member_info.cc:727
bool is_primary_election_running()
Definition: member_info.cc:780
bool operator==(Group_member_info &other)
Redefinition of operate ==, which operate upon the uuid.
Definition: member_info.cc:790
bool is_group_action_running()
Definition: member_info.cc:752
std::string m_group_action_running_name
Definition: member_info.h:723
Group_member_status get_recovery_status()
Definition: member_info.cc:579
std::string get_view_change_uuid()
Get UID used when logging view change events.
Definition: member_info.cc:863
static const char * get_member_status_string(Group_member_status status)
Definition: member_info.cc:795
std::string m_group_action_running_description
Definition: member_info.h:724
void update_gtid_sets(std::string &executed_gtids, std::string &purged_gtids, std::string &retrieve_gtids)
Updates this object GTID sets.
Definition: member_info.cc:617
uint lower_case_table_names
Definition: member_info.h:716
Gcs_member_identifier * gcs_member_id
Definition: member_info.h:704
bool in_primary_mode_internal()
Internal method without concurrency control.
Definition: member_info.cc:688
Group_member_role get_role()
Definition: member_info.cc:584
std::string retrieved_gtid_set
Definition: member_info.h:708
void set_primary_mode_flag(bool in_primary_mode)
Set the primary flag.
Definition: member_info.cc:666
void set_group_action_running_description(const std::string &group_action_running_description)
Set group action description if running on the member.
Definition: member_info.cc:775
bool skip_encode_default_table_encryption
Definition: member_info.h:727
void set_group_action_running_name(const std::string &group_action_running_name)
Set group action name if running on the member.
Definition: member_info.cc:766
bool has_lower_uuid_internal(Group_member_info *other)
Return true if server uuid is lower than other member server uuid Internal method without concurrency...
Definition: member_info.cc:895
Group_member_info(PSI_mutex_key psi_mutex_key_arg=key_GR_LOCK_group_member_info_update_lock)
Group_member_info empty constructor.
Definition: member_info.cc:38
uint get_write_set_extraction_algorithm()
Definition: member_info.cc:651
bool m_skip_encode_view_change_uuid
Definition: member_info.h:728
void set_unreachable()
Sets this member as unreachable.
Definition: member_info.cc:717
void set_role(Group_member_role new_role)
Updates this object member role.
Definition: member_info.cc:626
Gcs_member_identifier get_gcs_member_id()
Definition: member_info.cc:606
std::string get_gtid_purged()
Definition: member_info.cc:641
std::string m_view_change_uuid
Definition: member_info.h:721
Group_member_status status
Definition: member_info.h:703
Member_version get_member_version()
Definition: member_info.cc:631
PSI_mutex_key psi_mutex_key
Definition: member_info.h:731
std::string get_gtid_executed()
Definition: member_info.cc:636
uint get_member_weight()
Return member weight.
Definition: member_info.cc:747
Group_member_role
Definition: member_info.h:183
@ MEMBER_ROLE_PRIMARY
Definition: member_info.h:184
@ MEMBER_ROLE_SECONDARY
Definition: member_info.h:185
@ MEMBER_ROLE_END
Definition: member_info.h:186
uint get_lower_case_table_names()
Definition: member_info.cc:702
std::string executed_gtid_set
Definition: member_info.h:706
const std::string & get_group_action_running_name()
Get group action name if running on the member.
Definition: member_info.cc:762
void set_recovery_endpoints(const char *endpoints)
Save list of member advertised recovery endpoints.
Definition: member_info.cc:858
const char * get_member_role_string()
Definition: member_info.cc:589
Group_member_status
Definition: member_info.h:169
@ MEMBER_ONLINE
Definition: member_info.h:170
@ MEMBER_UNREACHABLE
Definition: member_info.h:174
@ MEMBER_OFFLINE
Definition: member_info.h:171
@ MEMBER_IN_RECOVERY
Definition: member_info.h:172
@ MEMBER_END
Definition: member_info.h:175
@ MEMBER_ERROR
Definition: member_info.h:173
std::string get_uuid()
Definition: member_info.cc:572
mysql_mutex_t update_lock
Definition: member_info.h:699
bool has_greater_version(Group_member_info *other)
Return true if member version is higher than other member version.
Definition: member_info.cc:888
bool default_table_encryption
Definition: member_info.h:717
void set_reachable()
Sets this member as reachable.
Definition: member_info.cc:722
std::string hostname
Definition: member_info.h:700
std::string get_hostname()
Definition: member_info.cc:560
bool is_unreachable()
Return true if this has been flagged as unreachable.
Definition: member_info.cc:707
void set_member_weight(uint new_member_weight)
Update member weight.
Definition: member_info.cc:742
enum_payload_item_type
Definition: member_info.h:83
@ PIT_EXECUTED_GTID
Definition: member_info.h:109
@ PIT_GCS_ID
Definition: member_info.h:97
@ PIT_CONFLICT_DETECTION_ENABLE
Definition: member_info.h:124
@ PIT_PURGED_GTID
Definition: member_info.h:142
@ PIT_RECOVERY_ENDPOINTS
Definition: member_info.h:145
@ PIT_ALLOW_SINGLE_LEADER
Definition: member_info.h:151
@ PIT_LOWER_CASE_TABLE_NAME
Definition: member_info.h:130
@ PIT_GROUP_ACTION_RUNNING
Definition: member_info.h:133
@ PIT_GROUP_ACTION_RUNNING_DESCRIPTION
Definition: member_info.h:157
@ PIT_GTID_ASSIGNMENT_BLOCK_SIZE
Definition: member_info.h:115
@ PIT_MAX
Definition: member_info.h:160
@ PIT_DEFAULT_TABLE_ENCRYPTION
Definition: member_info.h:139
@ PIT_WRITE_SET_EXTRACTION_ALGORITHM
Definition: member_info.h:106
@ PIT_PORT
Definition: member_info.h:91
@ PIT_PRIMARY_ELECTION_RUNNING
Definition: member_info.h:136
@ PIT_MEMBER_ROLE
Definition: member_info.h:118
@ PIT_CONFIGURATION_FLAGS
Definition: member_info.h:121
@ PIT_UNKNOWN
Definition: member_info.h:85
@ PIT_UUID
Definition: member_info.h:94
@ PIT_GROUP_ACTION_RUNNING_NAME
Definition: member_info.h:154
@ PIT_VIEW_CHANGE_UUID
Definition: member_info.h:148
@ PIT_MEMBER_WEIGHT
Definition: member_info.h:127
@ PIT_RETRIEVED_GTID
Definition: member_info.h:112
@ PIT_VERSION
Definition: member_info.h:103
@ PIT_STATUS
Definition: member_info.h:100
@ PIT_HOSTNAME
Definition: member_info.h:88
void update_recovery_status(Group_member_status new_status)
Updates this object recovery status.
Definition: member_info.cc:612
bool has_lower_uuid(Group_member_info *other)
Return true if server uuid is lower than other member server uuid.
Definition: member_info.cc:899
std::string get_gtid_retrieved()
Definition: member_info.cc:646
Malloc_allocator is a C++ STL memory allocator based on my_malloc/my_free.
Definition: malloc_allocator.h:63
represent the MySQL version of a Member within the Group Replication group.
Definition: member_version.h:35
A convenience context class used to share information between the event handlers and the notifier.
Definition: notification.h:35
This is the base GCS plugin message.
Definition: gcs_plugin_messages.h:64
#define MY_WME
Definition: my_sys.h:123
unsigned int PSI_mutex_key
Instrumented mutex key.
Definition: psi_mutex_bits.h:52
Group_member_info_map::iterator Group_member_info_map_iterator
Definition: member_info.h:742
Group_member_info_list::iterator Group_member_info_list_iterator
Definition: member_info.h:736
std::map< std::string, Group_member_info *, std::less< std::string >, Malloc_allocator< std::pair< const std::string, Group_member_info * > > > Group_member_info_map
Definition: member_info.h:741
std::vector< Group_member_info *, Malloc_allocator< Group_member_info * > > Group_member_info_list
Definition: member_info.h:735
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
unsigned char uchar
Definition: my_inttypes.h:52
#define MYF(v)
Definition: my_inttypes.h:97
uint64_t uint64
Definition: my_inttypes.h:69
uint32_t uint32
Definition: my_inttypes.h:67
void * my_malloc(PSI_memory_key key, size_t size, int flags)
Allocates size bytes of memory.
Definition: my_memory.cc:57
void my_free(void *ptr)
Frees the memory pointed by the ptr.
Definition: my_memory.cc:81
Common header for many mysys elements.
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
bool is_running(const PluginFuncEnv *env) noexcept
Definition: loader.cc:202
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:420
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
std::map< Key, Value, Compare, ut::allocator< std::pair< const Key, Value > > > map
Specialization of map which uses ut_allocator.
Definition: ut0new.h:2892
#define NODISCARD
The function attribute [[NODISCARD]] is a replacement for [[nodiscard]] to workaround a gcc bug.
Definition: nodiscard.h:47
PSI_memory_key key_group_member_info
Definition: plugin_psi.h:243
PSI_mutex_key key_GR_LOCK_group_member_info_update_lock
Definition: plugin_psi.h:125
PSI_mutex_key key_GR_LOCK_group_member_info_manager_update_lock
Definition: plugin_psi.h:124
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
unsigned int uint
Definition: uca9-dump.cc:75