diff --git a/src/backend/executor/nodeTidscan.c b/src/backend/executor/nodeTidscan.c index 2604103..d54fe36 100644 --- a/src/backend/executor/nodeTidscan.c +++ b/src/backend/executor/nodeTidscan.c @@ -139,7 +139,7 @@ TidListCreate(TidScanState *tidstate) continue; itemarray = DatumGetArrayTypeP(arraydatum); deconstruct_array(itemarray, - TIDOID, SizeOfIptrData, false, 's', + TIDOID, sizeof(ItemPointerData), false, 's', &ipdatums, &ipnulls, &ndatums); if (numTids + ndatums > numAllocTids) { diff --git a/src/include/storage/itemptr.h b/src/include/storage/itemptr.h index 7ec7ed3..5ed8ede 100644 --- a/src/include/storage/itemptr.h +++ b/src/include/storage/itemptr.h @@ -24,15 +24,6 @@ * (for example, a cross-link from an index to its parent table). * blkid tells us which block, posid tells us which entry in the linp * (ItemIdData) array we want. - * - * Note: because there is an item pointer in each tuple header and index - * tuple header on disk, it's very important not to waste space with - * structure padding bytes. The struct is designed to be six bytes long - * (it contains three int16 fields) but a few compilers will pad it to - * eight bytes unless coerced. We apply appropriate persuasion where - * possible, and to cope with unpersuadable compilers, we try to use - * "SizeOfIptrData" rather than "sizeof(ItemPointerData)" when computing - * on-disk sizes. */ typedef struct ItemPointerData { @@ -46,9 +37,6 @@ pg_attribute_aligned(2) #endif ItemPointerData; -#define SizeOfIptrData \ - (offsetof(ItemPointerData, ip_posid) + sizeof(OffsetNumber)) - typedef ItemPointerData *ItemPointer; /* ----------------