39 memset(parsed, 0,
sizeof(*parsed));
131 memcpy(&xl_origin,
data,
sizeof(xl_origin));
145 memset(parsed, 0,
sizeof(*parsed));
226 memcpy(&xl_origin,
data,
sizeof(xl_origin));
245 memset(parsed, 0,
sizeof(*parsed));
288 for (
i = 0;
i < nrels;
i++)
306 for (
i = 0;
i < nsubxacts;
i++)
320 for (
i = 0;
i < ndropped;
i++)
326 dropped_stats[
i].kind,
327 dropped_stats[
i].dboid,
328 (
unsigned long long) objid);
489 const char *
id = NULL;
503 id =
"COMMIT_PREPARED";
506 id =
"ABORT_PREPARED";
const char * timestamptz_to_str(TimestampTz t)
void pfree(void *pointer)
#define InvalidRepOriginId
size_t strlcpy(char *dst, const char *src, size_t siz)
struct RelFileLocator RelFileLocator
#define relpathperm(rlocator, forknum)
void standby_desc_invalidations(StringInfo buf, int nmsgs, SharedInvalidationMessage *msgs, Oid dbId, Oid tsId, bool relcacheInitFileInval)
void appendStringInfo(StringInfo str, const char *fmt,...)
void appendStringInfoString(StringInfo str, const char *s)
TransactionId xsub[FLEXIBLE_ARRAY_MEMBER]
SharedInvalidationMessage msgs[FLEXIBLE_ARRAY_MEMBER]
TimestampTz origin_timestamp
xl_xact_stats_item * stats
RelFileLocator * xlocators
TransactionId twophase_xid
char twophase_gid[GIDSIZE]
TimestampTz origin_timestamp
xl_xact_stats_item * stats
TransactionId twophase_xid
RelFileLocator * xlocators
RelFileLocator * abortlocators
TimestampTz origin_timestamp
char twophase_gid[GIDSIZE]
xl_xact_stats_item * abortstats
SharedInvalidationMessage * msgs
TimestampTz origin_timestamp
RelFileLocator xlocators[FLEXIBLE_ARRAY_MEMBER]
xl_xact_stats_item items[FLEXIBLE_ARRAY_MEMBER]
TransactionId subxacts[FLEXIBLE_ARRAY_MEMBER]
#define TransactionIdIsValid(xid)
struct xl_xact_stats_item xl_xact_stats_item
#define XactCompletionForceSyncCommit(xinfo)
#define MinSizeOfXactInvals
#define MinSizeOfXactSubxacts
#define XLOG_XACT_COMMIT_PREPARED
#define XLOG_XACT_INVALIDATIONS
struct xl_xact_dbinfo xl_xact_dbinfo
#define XACT_XINFO_HAS_GID
struct xl_xact_origin xl_xact_origin
#define XACT_XINFO_HAS_ORIGIN
#define XLOG_XACT_PREPARE
#define XACT_XINFO_HAS_TWOPHASE
#define MinSizeOfXactCommit
#define MinSizeOfXactRelfileLocators
#define MinSizeOfXactStatsItems
#define XACT_XINFO_HAS_RELFILELOCATORS
#define MinSizeOfXactAbort
struct xl_xact_xinfo xl_xact_xinfo
#define XACT_XINFO_HAS_DBINFO
#define XactCompletionApplyFeedback(xinfo)
#define XLOG_XACT_ASSIGNMENT
#define XACT_XINFO_HAS_INVALS
struct xl_xact_twophase xl_xact_twophase
#define XLOG_XACT_ABORT_PREPARED
#define XLOG_XACT_HAS_INFO
#define XactCompletionRelcacheInitFileInval(xinfo)
#define XACT_XINFO_HAS_SUBXACTS
#define XACT_XINFO_HAS_DROPPED_STATS
const char * xact_identify(uint8 info)
static void xact_desc_stats(StringInfo buf, const char *label, int ndropped, xl_xact_stats_item *dropped_stats)
static void xact_desc_commit(StringInfo buf, uint8 info, xl_xact_commit *xlrec, RepOriginId origin_id)
static void xact_desc_relations(StringInfo buf, char *label, int nrels, RelFileLocator *xlocators)
static void xact_desc_abort(StringInfo buf, uint8 info, xl_xact_abort *xlrec, RepOriginId origin_id)
static void xact_desc_subxacts(StringInfo buf, int nsubxacts, TransactionId *subxacts)
static void xact_desc_assignment(StringInfo buf, xl_xact_assignment *xlrec)
static void xact_desc_prepare(StringInfo buf, uint8 info, xl_xact_prepare *xlrec, RepOriginId origin_id)
void ParseCommitRecord(uint8 info, xl_xact_commit *xlrec, xl_xact_parsed_commit *parsed)
void ParseAbortRecord(uint8 info, xl_xact_abort *xlrec, xl_xact_parsed_abort *parsed)
void xact_desc(StringInfo buf, XLogReaderState *record)
void ParsePrepareRecord(uint8 info, xl_xact_prepare *xlrec, xl_xact_parsed_prepare *parsed)
#define LSN_FORMAT_ARGS(lsn)
#define XLogRecGetOrigin(decoder)
#define XLogRecGetInfo(decoder)
#define XLogRecGetData(decoder)