PostgreSQL Source Code: src/include/replication/logicalproto.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LOGICAL_PROTO_H

14#define LOGICAL_PROTO_H

15

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40#define LOGICALREP_PROTO_MIN_VERSION_NUM 1

41#define LOGICALREP_PROTO_VERSION_NUM 1

42#define LOGICALREP_PROTO_STREAM_VERSION_NUM 2

43#define LOGICALREP_PROTO_TWOPHASE_VERSION_NUM 3

44#define LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM 4

45#define LOGICALREP_PROTO_MAX_VERSION_NUM LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM

46

47

48

49

50

51

52

53

54

55

56

58{

79

80

81

82

83

85{

86

88

90

93

94

95

96#define LOGICALREP_COLUMN_NULL 'n'

97#define LOGICALREP_COLUMN_UNCHANGED 'u'

98#define LOGICALREP_COLUMN_TEXT 't'

99#define LOGICALREP_COLUMN_BINARY 'b'

100

102

103

105{

106

110 int natts;

114 char relkind;

117

118

120{

122 char *nspname;

123 char *typname;

125

126

128{

133

135{

140

141

142

143

145{

152

153

154

155

157{

164

165

166

167

168

169

170

171

172

174{

182

183

184

185

187{

193

221

228 PublishGencolsType include_gencols_type);

234 PublishGencolsType include_gencols_type);

241 PublishGencolsType include_gencols_type);

245 int nrelids, Oid relids[],

246 bool cascade, bool restart_seqs);

248 bool *cascade, bool *restart_seqs);

250 bool transactional, const char *prefix, Size sz, const char *message);

253 PublishGencolsType include_gencols_type);

256 Oid typoid);

259 bool first_segment);

261 bool *first_segment);

271 bool write_abort_info);

274 bool read_abort_info);

278 PublishGencolsType include_gencols_type);

279

280#endif

void logicalrep_read_commit(StringInfo in, LogicalRepCommitData *commit_data)

LogicalRepRelId logicalrep_read_delete(StringInfo in, LogicalRepTupleData *oldtup)

void logicalrep_write_commit(StringInfo out, ReorderBufferTXN *txn, XLogRecPtr commit_lsn)

void logicalrep_write_rollback_prepared(StringInfo out, ReorderBufferTXN *txn, XLogRecPtr prepare_end_lsn, TimestampTz prepare_time)

struct LogicalRepRelation LogicalRepRelation

void logicalrep_read_rollback_prepared(StringInfo in, LogicalRepRollbackPreparedTxnData *rollback_data)

void logicalrep_write_insert(StringInfo out, TransactionId xid, Relation rel, TupleTableSlot *newslot, bool binary, Bitmapset *columns, PublishGencolsType include_gencols_type)

void logicalrep_write_origin(StringInfo out, const char *origin, XLogRecPtr origin_lsn)

void logicalrep_write_rel(StringInfo out, TransactionId xid, Relation rel, Bitmapset *columns, PublishGencolsType include_gencols_type)

void logicalrep_read_begin_prepare(StringInfo in, LogicalRepPreparedTxnData *begin_data)

void logicalrep_write_stream_abort(StringInfo out, TransactionId xid, TransactionId subxid, XLogRecPtr abort_lsn, TimestampTz abort_time, bool write_abort_info)

struct LogicalRepCommitPreparedTxnData LogicalRepCommitPreparedTxnData

struct LogicalRepTupleData LogicalRepTupleData

void logicalrep_read_typ(StringInfo in, LogicalRepTyp *ltyp)

struct LogicalRepCommitData LogicalRepCommitData

LogicalRepRelId logicalrep_read_update(StringInfo in, bool *has_oldtuple, LogicalRepTupleData *oldtup, LogicalRepTupleData *newtup)

struct LogicalRepTyp LogicalRepTyp

void logicalrep_write_message(StringInfo out, TransactionId xid, XLogRecPtr lsn, bool transactional, const char *prefix, Size sz, const char *message)

struct LogicalRepStreamAbortData LogicalRepStreamAbortData

List * logicalrep_read_truncate(StringInfo in, bool *cascade, bool *restart_seqs)

void logicalrep_read_stream_abort(StringInfo in, LogicalRepStreamAbortData *abort_data, bool read_abort_info)

struct LogicalRepBeginData LogicalRepBeginData

void logicalrep_write_prepare(StringInfo out, ReorderBufferTXN *txn, XLogRecPtr prepare_lsn)

void logicalrep_read_begin(StringInfo in, LogicalRepBeginData *begin_data)

char * logicalrep_read_origin(StringInfo in, XLogRecPtr *origin_lsn)

void logicalrep_write_typ(StringInfo out, TransactionId xid, Oid typoid)

void logicalrep_write_delete(StringInfo out, TransactionId xid, Relation rel, TupleTableSlot *oldslot, bool binary, Bitmapset *columns, PublishGencolsType include_gencols_type)

void logicalrep_write_truncate(StringInfo out, TransactionId xid, int nrelids, Oid relids[], bool cascade, bool restart_seqs)

@ LOGICAL_REP_MSG_TRUNCATE

@ LOGICAL_REP_MSG_STREAM_STOP

@ LOGICAL_REP_MSG_STREAM_PREPARE

@ LOGICAL_REP_MSG_STREAM_ABORT

@ LOGICAL_REP_MSG_BEGIN_PREPARE

@ LOGICAL_REP_MSG_STREAM_START

@ LOGICAL_REP_MSG_PREPARE

@ LOGICAL_REP_MSG_RELATION

@ LOGICAL_REP_MSG_MESSAGE

@ LOGICAL_REP_MSG_ROLLBACK_PREPARED

@ LOGICAL_REP_MSG_COMMIT_PREPARED

@ LOGICAL_REP_MSG_STREAM_COMMIT

void logicalrep_write_begin(StringInfo out, ReorderBufferTXN *txn)

void logicalrep_read_commit_prepared(StringInfo in, LogicalRepCommitPreparedTxnData *prepare_data)

LogicalRepRelation * logicalrep_read_rel(StringInfo in)

struct LogicalRepPreparedTxnData LogicalRepPreparedTxnData

struct LogicalRepRollbackPreparedTxnData LogicalRepRollbackPreparedTxnData

void logicalrep_write_commit_prepared(StringInfo out, ReorderBufferTXN *txn, XLogRecPtr commit_lsn)

void logicalrep_write_stream_commit(StringInfo out, ReorderBufferTXN *txn, XLogRecPtr commit_lsn)

void logicalrep_write_stream_prepare(StringInfo out, ReorderBufferTXN *txn, XLogRecPtr prepare_lsn)

const char * logicalrep_message_type(LogicalRepMsgType action)

void logicalrep_write_begin_prepare(StringInfo out, ReorderBufferTXN *txn)

bool logicalrep_should_publish_column(Form_pg_attribute att, Bitmapset *columns, PublishGencolsType include_gencols_type)

void logicalrep_read_stream_prepare(StringInfo in, LogicalRepPreparedTxnData *prepare_data)

void logicalrep_write_stream_start(StringInfo out, TransactionId xid, bool first_segment)

void logicalrep_write_update(StringInfo out, TransactionId xid, Relation rel, TupleTableSlot *oldslot, TupleTableSlot *newslot, bool binary, Bitmapset *columns, PublishGencolsType include_gencols_type)

TransactionId logicalrep_read_stream_commit(StringInfo in, LogicalRepCommitData *commit_data)

LogicalRepRelId logicalrep_read_insert(StringInfo in, LogicalRepTupleData *newtup)

void logicalrep_read_prepare(StringInfo in, LogicalRepPreparedTxnData *prepare_data)

void logicalrep_write_stream_stop(StringInfo out)

TransactionId logicalrep_read_stream_start(StringInfo in, bool *first_segment)

FormData_pg_attribute * Form_pg_attribute

XLogRecPtr prepare_end_lsn

XLogRecPtr rollback_end_lsn

TimestampTz rollback_time

StringInfoData * colvalues