|
My Project
|
#include <rpl_gtid.h>
Public Types | |
| enum | enum_add_group_status { EXTEND_EXISTING_GROUP, APPEND_NEW_GROUP, ERROR } |
Public Member Functions | |
| Group_cache () | |
| Constructs a new Group_cache. | |
| ~Group_cache () | |
| Deletes a Group_cache. | |
| void | clear () |
| Removes all groups from this cache. | |
| int | get_n_groups () const |
| Return the number of groups in this group cache. | |
| bool | is_empty () const |
| Return true iff the group cache contains zero groups. | |
| enum_add_group_status | add_logged_group (const THD *thd, my_off_t binlog_offset) |
| enum_return_status | write_to_gtid_state () const |
| enum_return_status | generate_automatic_gno (THD *thd) |
| bool | contains_gtid (const Gtid >id) const |
| enum_return_status | get_gtids (Gtid_set *gs) const |
| size_t | to_string (const Sid_map *sm, char *buf) const |
| size_t | get_max_string_length () const |
| char * | to_string (const Sid_map *sm) const |
| void | print (const Sid_map *sm) const |
| Debug only: print this Group_cache to stdout. | |
| void | dbug_print (const Sid_map *sid_map, const char *text="") const |
| Cached_group * | get_unsafe_pointer (int index) const |
Represents a group cache: either the statement group cache or the transaction group cache.
Adds a group to this Group_cache. The group should already have been written to the stmt or trx cache. The SIDNO and GNO fields are taken from @SESSION.GTID_NEXT.
| thd | The THD object from which we read session variables. |
| binlog_length | Length of group in binary log. |
| EXTEND_EXISTING_GROUP | The last existing group had the same GTID and has been extended to include this group too. |
| APPEND_NEW_GROUP | The group has been appended to this cache. |
| ERROR | An error (out of memory) occurred. The error has been reported. |
| bool Group_cache::contains_gtid | ( | const Gtid & | gtid | ) | const |
Return true if this Group_cache contains the given GTID.
| gtid | The Gtid to check. |
| true | The group exists in this cache. |
| false | The group does not exist in this cache. |
| void Group_cache::dbug_print | ( | const Sid_map * | sid_map, |
| const char * | text = "" |
||
| ) | const [inline] |
Print this Gtid_cache to the trace file if debug is enabled; no-op otherwise.
| enum_return_status Group_cache::generate_automatic_gno | ( | THD * | thd | ) |
Generates GNO for all groups that are committed for the first time in this Group_cache.
This acquires ownership of all groups. After this call, this Group_cache does not contain any Cached_groups that have type==GTID_GROUP and gno<=0.
| thd | The THD that this Gtid_state belongs to. |
| enum_return_status Group_cache::get_gtids | ( | Gtid_set * | gs | ) | const |
Add all GTIDs that exist in this Group_cache to the given Gtid_set.
| gs | The Gtid_set to which groups are added. |
| size_t Group_cache::get_max_string_length | ( | ) | const [inline] |
Debug only: return an upper bound on the length of the string generated by to_string(). The actual length may be shorter.
| Cached_group* Group_cache::get_unsafe_pointer | ( | int | index | ) | const [inline] |
Returns a pointer to the given group. The pointer is only valid until the next time a group is added or removed.
| index | Index of the element: 0 <= index < get_n_groups(). |
| size_t Group_cache::to_string | ( | const Sid_map * | sm, |
| char * | buf | ||
| ) | const [inline] |
Debug only: store a textual representation of this Group_cache in the given buffer and return the length.
| char* Group_cache::to_string | ( | const Sid_map * | sm | ) | const [inline] |
Debug only: generate a textual representation of this Group_cache and store in a newly allocated string. Return the string, or NULL on out of memory.
| enum_return_status Group_cache::write_to_gtid_state | ( | ) | const |
Write all gtids in this cache to the global Gtid_state.
1.7.6.1