pub struct GtidEvent { /* private fields */ }
Available on crate feature binlog only.
Expand description

GTID stands for Global Transaction IDentifier.

Implementations§

source§

impl GtidEvent

source

pub const POST_HEADER_LENGTH: usize = 42usize

source

pub const ENCODED_SID_LENGTH: usize = 16usize

source

pub const LOGICAL_TIMESTAMP_TYPECODE: u8 = 2u8

source

pub const IMMEDIATE_COMMIT_TIMESTAMP_LENGTH: usize = 7usize

source

pub const ORIGINAL_COMMIT_TIMESTAMP_LENGTH: usize = 7usize

source

pub const UNDEFINED_SERVER_VERSION: u32 = 999_999u32

source

pub const IMMEDIATE_SERVER_VERSION_LENGTH: usize = 4usize

source

pub fn new(sid: [u8; 16], gno: u64) -> Self

source

pub fn with_flags(self, flags: GtidFlags) -> Self

Defines the flags value.

source

pub fn flags_raw(&self) -> u8

Returns the raw flags value.

source

pub fn flags(&self) -> GtidFlags

Returns the flags value. Unknown bits will be truncated.

00000001 – Transaction may have changes logged with SBR.

In 5.6, 5.7.0-5.7.18, and 8.0.0-8.0.1, this flag is always set. Starting in 5.7.19 and 8.0.2, this flag is cleared if the transaction only contains row events. It is set if any part of the transaction is written in statement format.

source

pub fn with_sid(self, sid: [u8; 16]) -> Self

Defines the sid value.

source

pub fn sid(&self) -> [u8; 16]

Returns the sid value.

sid is the UUID representing the SID.

source

pub fn with_gno(self, gno: u64) -> Self

Defines the gno value.

source

pub fn gno(&self) -> u64

Returns the gno value.

gno is a group number, second component of GTID.

source

pub fn lc_typecode(&self) -> Option<u8>

Returns the lc_typecode value.

lc_typecode is the type of logical timestamp used in the logical clock fields.

source

pub fn with_lc_typecode(self) -> Self

Sets the lc_typecode value to GtidEvent::LOGICAL_TIMESTAMP_TYPECODE.

This is already by default, but lc_typecode might be None if Self is obtained from an old MySql server via MyDeserialize::deserialize.

source

pub fn with_last_committed(self, last_committed: u64) -> Self

Sets the last_committed value.

source

pub fn last_committed(&self) -> u64

Returns the last_committed value.

last_committed stores the transaction’s commit parent sequence_number.

source

pub fn with_sequence_number(self, sequence_number: u64) -> Self

Sets the sequence_number value.

source

pub fn sequence_number(&self) -> u64

Returns the sequence_number value.

sequence_number is the transaction’s logical timestamp assigned at prepare phase.

source

pub fn with_immediate_commit_timestamp( self, immediate_commit_timestamp: u64 ) -> Self

Sets the immediate_commit_timestamp value.

source

pub fn immediate_commit_timestamp(&self) -> u64

Returns the immediate_commit_timestamp value.

immediate_commit_timestamp is a timestamp of commit on the immediate master.

source

pub fn with_original_commit_timestamp( self, original_commit_timestamp: u64 ) -> Self

Sets the original_commit_timestamp value.

source

pub fn original_commit_timestamp(&self) -> u64

Returns the original_commit_timestamp value.

original_commit_timestamp is the timestamp of commit on the originating master.

source

pub fn with_tx_length(self, tx_length: u64) -> Self

Sets the tx_length value.

source

pub fn tx_length(&self) -> u64

Returns the tx_length value.

tx_length is the packed transaction’s length in bytes, including the Gtid.

source

pub fn with_original_server_version(self, original_server_version: u32) -> Self

Sets the original_server_version value.

source

pub fn original_server_version(&self) -> u32

Returns the original_server_version value.

original_server_version is the version of the server where the transaction was originally executed.

source

pub fn with_immediate_server_version( self, immediate_server_version: u32 ) -> Self

Sets the immediate_server_version value.

source

pub fn immediate_server_version(&self) -> u32

Returns the immediate_server_version value.

immediate_server_version is the server version of the immediate server.

Trait Implementations§

source§

impl<'a> BinlogEvent<'a> for GtidEvent

source§

const EVENT_TYPE: EventType = EventType::GTID_EVENT

An event type, associated with this struct (if any).
source§

impl<'a> BinlogStruct<'a> for GtidEvent

source§

fn len(&self, _version: BinlogVersion) -> usize

Returns serialized length of this struct in bytes. Read more
source§

impl Clone for GtidEvent

source§

fn clone(&self) -> GtidEvent

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GtidEvent

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for GtidEvent

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<'de> MyDeserialize<'de> for GtidEvent

source§

const SIZE: Option<usize> = None

Size hint of a serialized value (in bytes), if it’s constant.
§

type Ctx = BinlogCtx<'de>

Some structs defines deserialization in the context of another value. Read more
source§

fn deserialize(_ctx: Self::Ctx, buf: &mut ParseBuf<'de>) -> Result<Self>

Deserializes self from the given buf. Read more
source§

impl MySerialize for GtidEvent

source§

fn serialize(&self, buf: &mut Vec<u8>)

Serializes self into the buf.
source§

impl PartialEq for GtidEvent

source§

fn eq(&self, other: &GtidEvent) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for GtidEvent

source§

impl StructuralPartialEq for GtidEvent

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Conv for T

source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> FmtForward for T

source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Pipe for T
where T: ?Sized,

source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> Tap for T

source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> TryConv for T

source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V