43 #if defined(pg_attribute_packed) && defined(pg_attribute_aligned) 45 pg_attribute_aligned(2)
63 #define SpecTokenOffsetNumber 0xfffe 69 #define MovedPartitionsOffsetNumber 0xfffd 70 #define MovedPartitionsBlockNumber InvalidBlockNumber 82 #define ItemPointerIsValid(pointer) \ 83 ((bool) (PointerIsValid(pointer) && ((pointer)->ip_posid != 0))) 89 #define ItemPointerGetBlockNumberNoCheck(pointer) \ 91 BlockIdGetBlockNumber(&(pointer)->ip_blkid) \ 98 #define ItemPointerGetBlockNumber(pointer) \ 100 AssertMacro(ItemPointerIsValid(pointer)), \ 101 ItemPointerGetBlockNumberNoCheck(pointer) \ 108 #define ItemPointerGetOffsetNumberNoCheck(pointer) \ 110 (pointer)->ip_posid \ 117 #define ItemPointerGetOffsetNumber(pointer) \ 119 AssertMacro(ItemPointerIsValid(pointer)), \ 120 ItemPointerGetOffsetNumberNoCheck(pointer) \ 127 #define ItemPointerSet(pointer, blockNumber, offNum) \ 129 AssertMacro(PointerIsValid(pointer)), \ 130 BlockIdSet(&((pointer)->ip_blkid), blockNumber), \ 131 (pointer)->ip_posid = offNum \ 138 #define ItemPointerSetBlockNumber(pointer, blockNumber) \ 140 AssertMacro(PointerIsValid(pointer)), \ 141 BlockIdSet(&((pointer)->ip_blkid), blockNumber) \ 148 #define ItemPointerSetOffsetNumber(pointer, offsetNumber) \ 150 AssertMacro(PointerIsValid(pointer)), \ 151 (pointer)->ip_posid = (offsetNumber) \ 161 #define ItemPointerCopy(fromPointer, toPointer) \ 163 AssertMacro(PointerIsValid(toPointer)), \ 164 AssertMacro(PointerIsValid(fromPointer)), \ 165 *(toPointer) = *(fromPointer) \ 172 #define ItemPointerSetInvalid(pointer) \ 174 AssertMacro(PointerIsValid(pointer)), \ 175 BlockIdSet(&((pointer)->ip_blkid), InvalidBlockNumber), \ 176 (pointer)->ip_posid = InvalidOffsetNumber \ 184 #define ItemPointerIndicatesMovedPartitions(pointer) \ 186 ItemPointerGetOffsetNumber(pointer) == MovedPartitionsOffsetNumber && \ 187 ItemPointerGetBlockNumberNoCheck(pointer) == MovedPartitionsBlockNumber \ 195 #define ItemPointerSetMovedPartitions(pointer) \ 196 ItemPointerSet((pointer), MovedPartitionsBlockNumber, MovedPartitionsOffsetNumber)
int32 ItemPointerCompare(ItemPointer arg1, ItemPointer arg2)
ItemPointerData * ItemPointer
bool ItemPointerEquals(ItemPointer pointer1, ItemPointer pointer2)
struct ItemPointerData ItemPointerData