pub enum LogicalReplicationMessage {
Show 19 variants
Begin {
final_lsn: XLogRecPtr,
timestamp: TimestampTz,
xid: Xid,
},
Commit {
flags: u8,
commit_lsn: XLogRecPtr,
end_lsn: XLogRecPtr,
timestamp: TimestampTz,
},
Relation {
relation_id: Oid,
namespace: String,
relation_name: String,
replica_identity: u8,
columns: Vec<ColumnInfo>,
},
Insert {
relation_id: Oid,
tuple: TupleData,
},
Update {
relation_id: Oid,
old_tuple: Option<TupleData>,
new_tuple: TupleData,
key_type: Option<char>,
},
Delete {
relation_id: Oid,
old_tuple: TupleData,
key_type: char,
},
Truncate {
relation_ids: Vec<Oid>,
flags: u8,
},
Type {
type_id: Oid,
namespace: String,
type_name: String,
},
Origin {
origin_lsn: XLogRecPtr,
origin_name: String,
},
Message {
flags: u8,
lsn: XLogRecPtr,
prefix: String,
content: Vec<u8>,
},
StreamStart {
xid: Xid,
first_segment: bool,
},
StreamStop,
StreamCommit {
xid: Xid,
flags: u8,
commit_lsn: XLogRecPtr,
end_lsn: XLogRecPtr,
timestamp: TimestampTz,
},
StreamAbort {
xid: Xid,
subtransaction_xid: Xid,
abort_lsn: Option<XLogRecPtr>,
abort_timestamp: Option<TimestampTz>,
},
BeginPrepare {
prepare_lsn: XLogRecPtr,
end_lsn: XLogRecPtr,
timestamp: TimestampTz,
xid: Xid,
gid: String,
},
Prepare {
flags: u8,
prepare_lsn: XLogRecPtr,
end_lsn: XLogRecPtr,
timestamp: TimestampTz,
xid: Xid,
gid: String,
},
CommitPrepared {
flags: u8,
commit_lsn: XLogRecPtr,
end_lsn: XLogRecPtr,
timestamp: TimestampTz,
xid: Xid,
gid: String,
},
RollbackPrepared {
flags: u8,
prepare_end_lsn: XLogRecPtr,
rollback_end_lsn: XLogRecPtr,
prepare_timestamp: TimestampTz,
rollback_timestamp: TimestampTz,
xid: Xid,
gid: String,
},
StreamPrepare {
flags: u8,
prepare_lsn: XLogRecPtr,
end_lsn: XLogRecPtr,
timestamp: TimestampTz,
xid: Xid,
gid: String,
},
}Expand description
Unified logical replication message enum
Variants§
Begin
Begin transaction
Commit
Commit transaction
Relation
Relation information (table schema)
Fields
columns: Vec<ColumnInfo>Insert
Insert operation
Update
Update operation
Delete
Delete operation
Truncate
Truncate operation
Type
Type information
Origin
Origin information
Message
Message (used for keepalive and custom messages)
StreamStart
Streaming transaction start
StreamStop
Streaming transaction stop
StreamCommit
Streaming transaction commit
StreamAbort
Streaming transaction abort In protocol version 4 with parallel streaming, includes abort_lsn and abort_timestamp
Fields
abort_lsn: Option<XLogRecPtr>Abort LSN (only present in protocol v4 with parallel streaming)
abort_timestamp: Option<TimestampTz>Abort timestamp (only present in protocol v4 with parallel streaming)
BeginPrepare
Begin prepare message (protocol v3+)
Prepare
Prepare message (protocol v3+)
CommitPrepared
Commit prepared message (protocol v3+)
RollbackPrepared
Rollback prepared message (protocol v3+)
Fields
prepare_end_lsn: XLogRecPtrrollback_end_lsn: XLogRecPtrprepare_timestamp: TimestampTzrollback_timestamp: TimestampTzStreamPrepare
Stream prepare message (protocol v3+)
Trait Implementations§
Source§impl Clone for LogicalReplicationMessage
impl Clone for LogicalReplicationMessage
Source§fn clone(&self) -> LogicalReplicationMessage
fn clone(&self) -> LogicalReplicationMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more