diff options
Diffstat (limited to 'src/include/access/heapam_xlog.h')
-rw-r--r-- | src/include/access/heapam_xlog.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/include/access/heapam_xlog.h b/src/include/access/heapam_xlog.h index a822d0b82dc..06a82426bb5 100644 --- a/src/include/access/heapam_xlog.h +++ b/src/include/access/heapam_xlog.h @@ -243,15 +243,19 @@ typedef struct xl_heap_cleanup_info #define XLHL_XMAX_KEYSHR_LOCK 0x08 #define XLHL_KEYS_UPDATED 0x10 +/* flag bits for xl_heap_lock / xl_heap_lock_updated's flag field */ +#define XLH_LOCK_ALL_FROZEN_CLEARED 0x01 + /* This is what we need to know about lock */ typedef struct xl_heap_lock { TransactionId locking_xid; /* might be a MultiXactId not xid */ OffsetNumber offnum; /* locked tuple's offset on page */ int8 infobits_set; /* infomask and infomask2 bits to set */ + uint8 flags; /* XLH_LOCK_* flag bits */ } xl_heap_lock; -#define SizeOfHeapLock (offsetof(xl_heap_lock, infobits_set) + sizeof(int8)) +#define SizeOfHeapLock (offsetof(xl_heap_lock, flags) + sizeof(int8)) /* This is what we need to know about locking an updated version of a row */ typedef struct xl_heap_lock_updated @@ -259,9 +263,10 @@ typedef struct xl_heap_lock_updated TransactionId xmax; OffsetNumber offnum; uint8 infobits_set; + uint8 flags; } xl_heap_lock_updated; -#define SizeOfHeapLockUpdated (offsetof(xl_heap_lock_updated, infobits_set) + sizeof(uint8)) +#define SizeOfHeapLockUpdated (offsetof(xl_heap_lock_updated, flags) + sizeof(uint8)) /* This is what we need to know about confirmation of speculative insertion */ typedef struct xl_heap_confirm |