diff options
Diffstat (limited to 'src/include/access/xact.h')
| -rw-r--r-- | src/include/access/xact.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/include/access/xact.h b/src/include/access/xact.h index cb440d41f1..c585752b00 100644 --- a/src/include/access/xact.h +++ b/src/include/access/xact.h @@ -106,6 +106,7 @@ typedef void (*SubXactCallback) (SubXactEvent event, SubTransactionId mySubid, #define XLOG_XACT_COMMIT_PREPARED 0x30 #define XLOG_XACT_ABORT_PREPARED 0x40 #define XLOG_XACT_ASSIGNMENT 0x50 +#define XLOG_XACT_COMMIT_COMPACT 0x60 typedef struct xl_xact_assignment { @@ -116,6 +117,16 @@ typedef struct xl_xact_assignment #define MinSizeOfXactAssignment offsetof(xl_xact_assignment, xsub) +typedef struct xl_xact_commit_compact +{ + TimestampTz xact_time; /* time of commit */ + int nsubxacts; /* number of subtransaction XIDs */ + /* ARRAY OF COMMITTED SUBTRANSACTION XIDs FOLLOWS */ + TransactionId subxacts[1]; /* VARIABLE LENGTH ARRAY */ +} xl_xact_commit_compact; + +#define MinSizeOfXactCommitCompact offsetof(xl_xact_commit_compact, subxacts) + typedef struct xl_xact_commit { TimestampTz xact_time; /* time of commit */ @@ -145,8 +156,8 @@ typedef struct xl_xact_commit #define XACT_COMPLETION_FORCE_SYNC_COMMIT 0x02 /* Access macros for above flags */ -#define XactCompletionRelcacheInitFileInval(xlrec) ((xlrec)->xinfo & XACT_COMPLETION_UPDATE_RELCACHE_FILE) -#define XactCompletionForceSyncCommit(xlrec) ((xlrec)->xinfo & XACT_COMPLETION_FORCE_SYNC_COMMIT) +#define XactCompletionRelcacheInitFileInval(xinfo) (xinfo & XACT_COMPLETION_UPDATE_RELCACHE_FILE) +#define XactCompletionForceSyncCommit(xinfo) (xinfo & XACT_COMPLETION_FORCE_SYNC_COMMIT) typedef struct xl_xact_abort { |
