@ -189,16 +189,16 @@ static const struct {
|
||||
#define ConditionalLockTupleTuplock(_rel, _tup, _mode) \
|
||||
ConditionalLockTuple((_rel), (_tup), TupleLockExtraInfo[_mode].hwlock)
|
||||
|
||||
#define PagePrintErrorInfo(_page, _msg) \
|
||||
do { \
|
||||
PageHeader pageHeader = (PageHeader)page; \
|
||||
elog(PANIC, \
|
||||
"%s, PageHeaderInfo: pd_lsn:%X/%X, pd_checksum:%u, pd_flags:%u, " \
|
||||
"pd_lower:%u, pd_upper:%u, pd_special:%u, pd_pagesize_version:%u, pd_prune_xid:%u", \
|
||||
_msg, pageHeader->pd_lsn.xlogid, \
|
||||
((uint64)pageHeader->pd_lsn.xlogid << XLOG_UHEAP_LSN_HIGH_OFF) + pageHeader->pd_lsn.xrecoff, \
|
||||
pageHeader->pd_checksum, pageHeader->pd_flags, pageHeader->pd_lower, pageHeader->pd_upper, \
|
||||
pageHeader->pd_special, pageHeader->pd_pagesize_version, pageHeader->pd_prune_xid); \
|
||||
#define PagePrintErrorInfo(_page, _msg) \
|
||||
do { \
|
||||
PageHeader pageHeader = (PageHeader)page; \
|
||||
elog(PANIC, \
|
||||
"%s, PageHeaderInfo: pd_lsn:%X/%X, pd_checksum:%u, pd_flags:%u, " \
|
||||
"pd_lower:%u, pd_upper:%u, pd_special:%u, pd_pagesize_version:%u, pd_prune_xid:%u", \
|
||||
_msg, pageHeader->pd_lsn.xlogid, \
|
||||
(uint32)(((uint64)pageHeader->pd_lsn.xlogid << XLOG_LSN_HIGH_OFF) | pageHeader->pd_lsn.xrecoff), \
|
||||
pageHeader->pd_checksum, pageHeader->pd_flags, pageHeader->pd_lower, pageHeader->pd_upper, \
|
||||
pageHeader->pd_special, pageHeader->pd_pagesize_version, pageHeader->pd_prune_xid); \
|
||||
} while (0)
|
||||
/*
|
||||
* This table maps tuple lock strength values for each particular
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#define UHP_ALL_VISIBLE 0x0004 /* all tuples on page are visible to \
|
||||
* everyone */
|
||||
#define UHEAP_VALID_FLAG_BITS 0xFFFF /* OR of all valid flag bits */
|
||||
#define XLOG_UHEAP_LSN_HIGH_OFF 32
|
||||
#define XLOG_LSN_HIGH_OFF 32
|
||||
|
||||
#define UPageHasFreeLinePointers(_page) (((UHeapPageHeaderData *)(_page))->pd_flags & UHEAP_HAS_FREE_LINES)
|
||||
#define UPageSetHasFreeLinePointers(_page) (((UHeapPageHeaderData *)(_page))->pd_flags |= UHEAP_HAS_FREE_LINES)
|
||||
@ -217,7 +217,7 @@
|
||||
"pd_upper:%u, pd_special:%u, pd_pagesize_version:%u, potential_freespace:%u, td_count:%u, " \
|
||||
"pd_prune_xid:%lu, pd_xid_base:%lu, pd_multi_base:%lu", \
|
||||
_msg, pageHeader->pd_lsn.xlogid, \
|
||||
((uint64)pageHeader->pd_lsn.xlogid << XLOG_UHEAP_LSN_HIGH_OFF) + pageHeader->pd_lsn.xrecoff, \
|
||||
(uint32)(((uint64)pageHeader->pd_lsn.xlogid << XLOG_LSN_HIGH_OFF) | pageHeader->pd_lsn.xrecoff), \
|
||||
pageHeader->pd_checksum, pageHeader->pd_flags, pageHeader->pd_lower, pageHeader->pd_upper, \
|
||||
pageHeader->pd_special, pageHeader->pd_pagesize_version, pageHeader->potential_freespace, \
|
||||
pageHeader->td_count, pageHeader->pd_prune_xid, pageHeader->pd_xid_base, pageHeader->pd_multi_base); \
|
||||
|
||||
Reference in New Issue
Block a user