diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2015-02-21 15:13:06 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2015-02-21 15:13:06 -0500 |
commit | e1a11d93111ff3fba7a91f3f2ac0b0aca16909a8 (patch) | |
tree | 522fdb9a6b2ed8208bdf692579399eac73c69184 /src/backend/replication/logical/reorderbuffer.c | |
parent | 3d9b6f31eec150b5a6000e0814e81e36d9eb069a (diff) | |
download | postgresql-e1a11d93111ff3fba7a91f3f2ac0b0aca16909a8.tar.gz postgresql-e1a11d93111ff3fba7a91f3f2ac0b0aca16909a8.zip |
Use FLEXIBLE_ARRAY_MEMBER for HeapTupleHeaderData.t_bits[].
This requires changing quite a few places that were depending on
sizeof(HeapTupleHeaderData), but it seems for the best.
Michael Paquier, some adjustments by me
Diffstat (limited to 'src/backend/replication/logical/reorderbuffer.c')
-rw-r--r-- | src/backend/replication/logical/reorderbuffer.c | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index bcd58966f0a..20bb3b78e02 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -2014,14 +2014,12 @@ ReorderBufferSerializeChange(ReorderBuffer *rb, ReorderBufferTXN *txn, newtup = change->data.tp.newtuple; if (oldtup) - oldlen = offsetof(ReorderBufferTupleBuf, data) - +oldtup->tuple.t_len - - offsetof(HeapTupleHeaderData, t_bits); + oldlen = offsetof(ReorderBufferTupleBuf, t_data) + + oldtup->tuple.t_len; if (newtup) - newlen = offsetof(ReorderBufferTupleBuf, data) - +newtup->tuple.t_len - - offsetof(HeapTupleHeaderData, t_bits); + newlen = offsetof(ReorderBufferTupleBuf, t_data) + + newtup->tuple.t_len; sz += oldlen; sz += newlen; @@ -2262,27 +2260,25 @@ ReorderBufferRestoreChange(ReorderBuffer *rb, ReorderBufferTXN *txn, case REORDER_BUFFER_CHANGE_DELETE: if (change->data.tp.newtuple) { - Size len = offsetof(ReorderBufferTupleBuf, data) - +((ReorderBufferTupleBuf *) data)->tuple.t_len - - offsetof(HeapTupleHeaderData, t_bits); + Size len = offsetof(ReorderBufferTupleBuf, t_data) + + ((ReorderBufferTupleBuf *) data)->tuple.t_len; change->data.tp.newtuple = ReorderBufferGetTupleBuf(rb); memcpy(change->data.tp.newtuple, data, len); change->data.tp.newtuple->tuple.t_data = - &change->data.tp.newtuple->header; + &change->data.tp.newtuple->t_data.header; data += len; } if (change->data.tp.oldtuple) { - Size len = offsetof(ReorderBufferTupleBuf, data) - +((ReorderBufferTupleBuf *) data)->tuple.t_len - - offsetof(HeapTupleHeaderData, t_bits); + Size len = offsetof(ReorderBufferTupleBuf, t_data) + + ((ReorderBufferTupleBuf *) data)->tuple.t_len; change->data.tp.oldtuple = ReorderBufferGetTupleBuf(rb); memcpy(change->data.tp.oldtuple, data, len); change->data.tp.oldtuple->tuple.t_data = - &change->data.tp.oldtuple->header; + &change->data.tp.oldtuple->t_data.header; data += len; } break; @@ -2660,7 +2656,7 @@ ReorderBufferToastReplace(ReorderBuffer *rb, ReorderBufferTXN *txn, */ tmphtup = heap_form_tuple(desc, attrs, isnull); Assert(newtup->tuple.t_len <= MaxHeapTupleSize); - Assert(&newtup->header == newtup->tuple.t_data); + Assert(&newtup->t_data.header == newtup->tuple.t_data); memcpy(newtup->tuple.t_data, tmphtup->t_data, tmphtup->t_len); newtup->tuple.t_len = tmphtup->t_len; |