diff options
Diffstat (limited to 'src/backend/access/heap/heapam.c')
-rw-r--r-- | src/backend/access/heap/heapam.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 46060bc13e2..cb6f8a39207 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -2186,8 +2186,8 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid, XLogRegisterBufData(0, (char *) &xlhdr, SizeOfHeapHeader); /* PG73FORMAT: write bitmap [+ padding] [+ oid] + data */ XLogRegisterBufData(0, - (char *) heaptup->t_data + offsetof(HeapTupleHeaderData, t_bits), - heaptup->t_len - offsetof(HeapTupleHeaderData, t_bits)); + (char *) heaptup->t_data + SizeofHeapTupleHeader, + heaptup->t_len - SizeofHeapTupleHeader); recptr = XLogInsert(RM_HEAP_ID, info); @@ -2460,9 +2460,9 @@ heap_multi_insert(Relation relation, HeapTuple *tuples, int ntuples, tuphdr->t_hoff = heaptup->t_data->t_hoff; /* write bitmap [+ padding] [+ oid] + data */ - datalen = heaptup->t_len - offsetof(HeapTupleHeaderData, t_bits); + datalen = heaptup->t_len - SizeofHeapTupleHeader; memcpy(scratchptr, - (char *) heaptup->t_data + offsetof(HeapTupleHeaderData, t_bits), + (char *) heaptup->t_data + SizeofHeapTupleHeader, datalen); tuphdr->datalen = datalen; scratchptr += datalen; @@ -2904,9 +2904,9 @@ l1: XLogRegisterData((char *) &xlhdr, SizeOfHeapHeader); XLogRegisterData((char *) old_key_tuple->t_data - + offsetof(HeapTupleHeaderData, t_bits), + + SizeofHeapTupleHeader, old_key_tuple->t_len - - offsetof(HeapTupleHeaderData, t_bits)); + - SizeofHeapTupleHeader); } recptr = XLogInsert(RM_HEAP_ID, XLOG_HEAP_DELETE); @@ -6732,7 +6732,7 @@ log_heap_update(Relation reln, Buffer oldbuf, xlhdr.t_infomask2 = newtup->t_data->t_infomask2; xlhdr.t_infomask = newtup->t_data->t_infomask; xlhdr.t_hoff = newtup->t_data->t_hoff; - Assert(offsetof(HeapTupleHeaderData, t_bits) + prefixlen + suffixlen <= newtup->t_len); + Assert(SizeofHeapTupleHeader + prefixlen + suffixlen <= newtup->t_len); /* * PG73FORMAT: write bitmap [+ padding] [+ oid] + data @@ -6743,8 +6743,8 @@ log_heap_update(Relation reln, Buffer oldbuf, if (prefixlen == 0) { XLogRegisterBufData(0, - ((char *) newtup->t_data) + offsetof(HeapTupleHeaderData, t_bits), - newtup->t_len - offsetof(HeapTupleHeaderData, t_bits) -suffixlen); + ((char *) newtup->t_data) + SizeofHeapTupleHeader, + newtup->t_len - SizeofHeapTupleHeader - suffixlen); } else { @@ -6753,11 +6753,11 @@ log_heap_update(Relation reln, Buffer oldbuf, * two separate rdata entries. */ /* bitmap [+ padding] [+ oid] */ - if (newtup->t_data->t_hoff - offsetof(HeapTupleHeaderData, t_bits) >0) + if (newtup->t_data->t_hoff - SizeofHeapTupleHeader > 0) { XLogRegisterBufData(0, - ((char *) newtup->t_data) + offsetof(HeapTupleHeaderData, t_bits), - newtup->t_data->t_hoff - offsetof(HeapTupleHeaderData, t_bits)); + ((char *) newtup->t_data) + SizeofHeapTupleHeader, + newtup->t_data->t_hoff - SizeofHeapTupleHeader); } /* data after common prefix */ @@ -6777,8 +6777,8 @@ log_heap_update(Relation reln, Buffer oldbuf, XLogRegisterData((char *) &xlhdr_idx, SizeOfHeapHeader); /* PG73FORMAT: write bitmap [+ padding] [+ oid] + data */ - XLogRegisterData((char *) old_key_tuple->t_data + offsetof(HeapTupleHeaderData, t_bits), - old_key_tuple->t_len - offsetof(HeapTupleHeaderData, t_bits)); + XLogRegisterData((char *) old_key_tuple->t_data + SizeofHeapTupleHeader, + old_key_tuple->t_len - SizeofHeapTupleHeader); } recptr = XLogInsert(RM_HEAP_ID, info); @@ -7351,7 +7351,7 @@ heap_xlog_insert(XLogReaderState *record) xl_heap_insert *xlrec = (xl_heap_insert *) XLogRecGetData(record); Buffer buffer; Page page; - struct + union { HeapTupleHeaderData hdr; char data[MaxHeapTupleSize]; @@ -7415,12 +7415,12 @@ heap_xlog_insert(XLogReaderState *record) data += SizeOfHeapHeader; htup = &tbuf.hdr; - MemSet((char *) htup, 0, sizeof(HeapTupleHeaderData)); + MemSet((char *) htup, 0, SizeofHeapTupleHeader); /* PG73FORMAT: get bitmap [+ padding] [+ oid] + data */ - memcpy((char *) htup + offsetof(HeapTupleHeaderData, t_bits), + memcpy((char *) htup + SizeofHeapTupleHeader, data, newlen); - newlen += offsetof(HeapTupleHeaderData, t_bits); + newlen += SizeofHeapTupleHeader; htup->t_infomask2 = xlhdr.t_infomask2; htup->t_infomask = xlhdr.t_infomask; htup->t_hoff = xlhdr.t_hoff; @@ -7469,7 +7469,7 @@ heap_xlog_multi_insert(XLogReaderState *record) BlockNumber blkno; Buffer buffer; Page page; - struct + union { HeapTupleHeaderData hdr; char data[MaxHeapTupleSize]; @@ -7548,14 +7548,14 @@ heap_xlog_multi_insert(XLogReaderState *record) newlen = xlhdr->datalen; Assert(newlen <= MaxHeapTupleSize); htup = &tbuf.hdr; - MemSet((char *) htup, 0, sizeof(HeapTupleHeaderData)); + MemSet((char *) htup, 0, SizeofHeapTupleHeader); /* PG73FORMAT: get bitmap [+ padding] [+ oid] + data */ - memcpy((char *) htup + offsetof(HeapTupleHeaderData, t_bits), + memcpy((char *) htup + SizeofHeapTupleHeader, (char *) tupdata, newlen); tupdata += newlen; - newlen += offsetof(HeapTupleHeaderData, t_bits); + newlen += SizeofHeapTupleHeader; htup->t_infomask2 = xlhdr->t_infomask2; htup->t_infomask = xlhdr->t_infomask; htup->t_hoff = xlhdr->t_hoff; @@ -7618,7 +7618,7 @@ heap_xlog_update(XLogReaderState *record, bool hot_update) uint16 prefixlen = 0, suffixlen = 0; char *newp; - struct + union { HeapTupleHeaderData hdr; char data[MaxHeapTupleSize]; @@ -7780,19 +7780,19 @@ heap_xlog_update(XLogReaderState *record, bool hot_update) Assert(tuplen <= MaxHeapTupleSize); htup = &tbuf.hdr; - MemSet((char *) htup, 0, sizeof(HeapTupleHeaderData)); + MemSet((char *) htup, 0, SizeofHeapTupleHeader); /* * Reconstruct the new tuple using the prefix and/or suffix from the * old tuple, and the data stored in the WAL record. */ - newp = (char *) htup + offsetof(HeapTupleHeaderData, t_bits); + newp = (char *) htup + SizeofHeapTupleHeader; if (prefixlen > 0) { int len; /* copy bitmap [+ padding] [+ oid] from WAL record */ - len = xlhdr.t_hoff - offsetof(HeapTupleHeaderData, t_bits); + len = xlhdr.t_hoff - SizeofHeapTupleHeader; memcpy(newp, recdata, len); recdata += len; newp += len; @@ -7802,7 +7802,7 @@ heap_xlog_update(XLogReaderState *record, bool hot_update) newp += prefixlen; /* copy new tuple data from WAL record */ - len = tuplen - (xlhdr.t_hoff - offsetof(HeapTupleHeaderData, t_bits)); + len = tuplen - (xlhdr.t_hoff - SizeofHeapTupleHeader); memcpy(newp, recdata, len); recdata += len; newp += len; @@ -7823,7 +7823,7 @@ heap_xlog_update(XLogReaderState *record, bool hot_update) if (suffixlen > 0) memcpy(newp, (char *) oldtup.t_data + oldtup.t_len - suffixlen, suffixlen); - newlen = offsetof(HeapTupleHeaderData, t_bits) + tuplen + prefixlen + suffixlen; + newlen = SizeofHeapTupleHeader + tuplen + prefixlen + suffixlen; htup->t_infomask2 = xlhdr.t_infomask2; htup->t_infomask = xlhdr.t_infomask; htup->t_hoff = xlhdr.t_hoff; |