From: Tom Lane Date: Thu, 22 Sep 2016 18:30:33 +0000 (-0400) Subject: Remove nearly-unused SizeOfIptrData macro. X-Git-Tag: REL_10_BETA1~1685 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=8023b5827fbada6815ce269db4f3373ac77ec7c3;p=postgresql.git Remove nearly-unused SizeOfIptrData macro. Past refactorings have removed all but one reference to SizeOfIptrData (and that one place was in a pretty noncritical spot). Since nobody's complained, it seems probable that there are no supported compilers that don't think sizeof(ItemPointerData) is 6. If there are, we're wasting MAXALIGN per heap tuple anyway, so it's rather silly to worry about whether we can shave space in places like WAL records. Pavan Deolasee Discussion: --- diff --git a/src/backend/executor/nodeTidscan.c b/src/backend/executor/nodeTidscan.c index 26041033529..d54fe3665f7 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 7ec7ed30c97..0deab7a859f 100644 --- a/src/include/storage/itemptr.h +++ b/src/include/storage/itemptr.h @@ -30,9 +30,8 @@ * 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. + * possible. If your compiler can't be made to play along, you'll waste + * lots of space. */ typedef struct ItemPointerData { @@ -46,9 +45,6 @@ pg_attribute_aligned(2) #endif ItemPointerData; -#define SizeOfIptrData \ - (offsetof(ItemPointerData, ip_posid) + sizeof(OffsetNumber)) - typedef ItemPointerData *ItemPointer; /* ----------------