27#ifndef MYSQL_GTID_GTID_H
28#define MYSQL_GTID_GTID_H
136 std::size_t buf_len);
145 mysql::serialization::Archive_binary::get_max_size<int64_t, 0>();
Represents a MySQL Global Transaction Identifier.
Definition: gtid.h:51
virtual std::size_t encode_gtid_tagged(unsigned char *buf) const
Encodes GTID into a binary format.
Definition: gtid.cpp:65
static constexpr std::size_t get_max_encoded_length()
Gets maximum length of encoded GTID in compile time.
Definition: gtid.h:143
virtual ~Gtid()
Destroy the Gtid object.
virtual std::string to_string() const
Gets a human readable representation of this transaction identifier.
Definition: gtid.cpp:45
virtual bool operator==(const Gtid &other) const
Compares two identifiers and returns whether they match or not.
Definition: gtid.cpp:59
static constexpr auto separator_gtid
In 'UUID:SEQNO', this is the ':'.
Definition: gtid.h:54
virtual Gtid & operator=(const Gtid &other)
Copy assignment.
Definition: gtid.cpp:51
Tsid m_tsid
Definition: gtid.h:57
virtual const Tsid & get_tsid() const
Get the tsid of this transaction identifier.
Definition: gtid.cpp:41
Gtid()=default
Construct an empty GTID.
virtual gno_t get_gno() const
Get the sequence number of this transaction identifier.
Definition: gtid.cpp:38
virtual const Uuid & get_uuid() const
Get the uuid of this transaction identifier.
Definition: gtid.cpp:39
gno_t m_gno
Definition: gtid.h:58
virtual std::size_t decode_gtid_tagged(const unsigned char *buf, std::size_t buf_len)
Decodes GTID from a given buffer.
Definition: gtid.cpp:73
virtual bool operator!=(const Gtid &other) const
Compares two identifiers and returns whether they are different.
Definition: gtid.cpp:63
virtual const Tag & get_tag() const
Get the tag of this transaction identifier.
Definition: gtid.cpp:43
Representation of the GTID tag.
Definition: tag.h:51
Represents Transaction Source Identifier which is composed of source UUID and transaction tag.
Definition: tsid.h:47
static constexpr std::size_t get_max_encoded_length()
Obtains maximum length of encoded TSID (compile time)
Definition: tsid.h:149
Definition: buf0block_hint.cc:30
std::int64_t gno_t
Definition: global.h:37
#define NODISCARD
The function attribute [[NODISCARD]] is a replacement for [[nodiscard]] to workaround a gcc bug.
Definition: nodiscard.h:47
Uuid is a trivial and of standard layout The structure contains the following components.
Definition: uuid.h:64